2012-02-23 62 views
1

我有几个GridViews。默认的项目选择器是依赖于设备的,在我的Acer平板电脑上是黄色的,在我的摩托罗拉手机上是蓝色的。在我的项目中绘制完整GridView的自定义项目选择器

我希望它对所有设备都是灰色的。

所以我一派,SOed四周,发现我已经把一个android:listSelector属性我GridView控件:

<GridView 
    android:padding="5dip" 
    android:id="@+id/labeled_gridview_gridview" 
    android:layout_width="fill_parent" 
    android:layout_height="0dip" 
    android:layout_weight="1" 
    android:columnWidth="125dp" 
    android:stretchMode="columnWidth" 
    android:gravity="center" 
    android:listSelector="@drawable/list_selector" 
    android:numColumns="auto_fit" > 
</GridView> 

其中list_selector.xml是:

<selector xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/selector_item"> 
    <item 
     android:state_pressed="true" 
     android:drawable="@android:color/black"> 
    </item> 

    <item 
     android:state_enabled="true" 
     android:state_focused="true" 
     android:drawable="@android:color/white"> 
    </item> 

    <item android:state_enabled="true" 
     android:drawable="@android:color/white"> 
    </item> 
</selector> 

我的问题是现在:当我点击在GridView项目上,整个GridView背景变成黑色。这不是我想要的。我试着将android:listSelector属性放到GridView项目布局中,但它没有做任何事情。

我的选择错了吗?或者我的GridView?帮帮我!

+1

也许已经太晚了,但如果其他人有这个问题,答案在这里:http://stackoverflow.com/a/5155600/663370 – brk3 2012-10-08 17:59:43

回答

0

您是否在使用Holo主题?他们确保设计在所有类型的设备上看起来都一样。

+0

我在我的应用程序中使用自定义主题。另外我的应用程序的目标是2.X,3.X和4.x Android版本。默认主题从版本更改为版本,没有?许多制造商也使用他们自己的主题来覆盖默认值。 – 2012-02-23 11:54:14

+0

他们不允许覆盖holo主题。所以请确保您的主题来自Holo。 – ramdroid 2012-02-23 11:56:33

+0

Android是开源的家伙,制造商可以做他们想做的事。谷歌只是做了一些“测试”,以便设备可以进入游戏商店。 – MinceMan 2013-07-16 21:35:07

相关问题