我正在使用GridView.一列中的四个项目.每个元素由以下布局组成:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="32dip"
android:layout_height="32dip"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="11dip"
android:paddingTop="2dip" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
所以每个元素都是一个小图像,下面有一些文字.布局在第一次通过时效果很好.但是,如果项目的文本很长,它会换行到两行.这可以正常工作,直到您将其滚入和移出视图.默认情况下,一行中的所有图像都是顶部对齐的.当您在屏幕外滚动一行,然后返回屏幕时,您会看到该行以某种方式得到底部对齐.看起来像:
第一个布局:
[image] [image] [image]
[text] [text] [text
wrap]
Run Code Online (Sandbox Code Playgroud)
所以尽管第三个元素有两行文字,但顶部是对齐的,这是完美的.如果我在屏幕上滚动此行,然后重新打开,它看起来像这样:
[image]
[image] [image] [text
[text] [text] wrap]
Run Code Online (Sandbox Code Playgroud)
所以这行在底部对齐.我不确定这是否是GridView中的错误,或者是否有某种方法可以控制布局以始终对齐行.我已经尝试将元素布局的重力设置为"顶部",没有好处.似乎GridView也没有任何独特的设置来控制它.有任何想法吗?
谢谢
tas*_*iac 14
GridView中项目的高度必须相同.您有2或3个选项.
android:singleLine="true"android:minLines="2"尝试android:layout_gravity="top"在你的LinearLayout.
另外,如果您手动扩展单元格的布局,请务必使用将inflate()用作GridView第二个参数并使用 false 作为第三个参数的版本。
| 归档时间: |
|
| 查看次数: |
6184 次 |
| 最近记录: |