我正在尝试使用一个180px宽的单列网格构建一个屏幕,并将其附加到屏幕的右侧。我面临的问题是gridview的背景描绘了整个屏幕,而不仅仅是我在XML中指定的180px(因此阻止了我在LinearLayout中指定的背景图片)。
使用重量和重力都不能解决问题。
看起来很简单,但我已经玩了好几个小时而无济于事。在此先感谢您的帮助。
我的layout.xml如下:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/main_bkgd">
<GridView
android:layout_height="fill_parent"
android:scrollbars="none"
android:numColumns="1"
android:columnWidth="180px"
android:verticalSpacing="6dp"
android:layout_width="wrap_content"
android:id="@+id/mainmenu_grid"
android:gravity="right"
android:fadingEdge="vertical"
android:layout_gravity="right"
android:background="#000000"
android:layout_weight=".35">
</GridView>
</LinearLayout>
答案 0 :(得分:2)
您应该将android:stretchMode
属性指定为none
:
android:stretchMode="none"
在GridView
声明中。
将GridView的宽度设置为“190px
”也可以解决此问题(对于GridView
,defaultSelector的边距为5像素宽,需要额外的10px)。
其他:如果你只有一个专栏,你应该使用ListView
......
答案 1 :(得分:0)
更改Gridview的背景颜色 android:background =“#333” 我不知道为什么默认情况下会出现这种情况,它是完全白色的字体,因此看不到它。我认为这是早期版本中的错误。