使用平板电脑时,xml背景不会改变

时间:2013-02-01 10:42:40

标签: android xml background tablet

我有一个声明按钮背景的xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@color/selector_pressed" />
    <item android:state_focused="true" android:drawable="@color/selector_focused" />
    <item android:drawable="@android:color/transparent" />
</selector>

在我的手机上三星Nexus S(android 4.0.3),这个xml工作得很好,当我按下视图时背景颜色改变了。 但我在平板电脑上遇到了问题(三星Galaxy标签,Android 3.2),单击按钮但我没有看到背景的任何变化。平板电脑的背景颜色永远不会改变。

任何人都知道为什么这只发生在平板电脑上?我该如何解决这个问题?

4 个答案:

答案 0 :(得分:6)

我遇到了同样的问题,但我设法解决了这个问题: 实际问题在于android 3.2中关于硬件加速的缺陷所以如果你在AndroidManifest中放入你的应用程序是hardwareAccelerated =“true”你的问题将会得到解决。

答案 1 :(得分:2)

我建议你调整每个布局文件夹的布局

并在每个布局上调用xml。可能是当它在平板电脑中被点击时,它没有正确显示,我曾经遇到过这个问题,因为尺寸或分辨率不匹配,所以颜色也没有正确显示。

答案 2 :(得分:1)

尝试摆脱

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

可能就是那个版本的操作系统截获按下和聚焦的方式。只是一个猜测,没有真正测试它。

尝试将.xml更改为:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape>         
            <solid
                android:color="#11223344" />
        </shape>
    </item>
    <item>
        <shape>
           <solid
               android:color="#AABBCCDD" />
        </shape>
    </item>
</selector>
你可以根据自己喜欢的颜色设置颜色。那就是你使用静态颜色。你也可以添加渐变和圆角边框。

答案 3 :(得分:0)

我用过:

android:hardwareAccelerated="false"  in AndroidManifest.xml <application> tag

它工作得很好