Android xml背景don';当我使用平板电脑时不会改变

Android xml背景don';当我使用平板电脑时不会改变,android,xml,background,tablet,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/

我有一个声明按钮背景的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 tab,安卓3.2),按钮被点击了,但我看不到背景有任何变化。平板电脑的背景色永远不会改变


有人知道为什么这种情况只发生在平板电脑上吗?我该如何解决这个问题呢?

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

  • 布局
  • 布局图-800x480
  • 布局用地
  • 等。请参阅此处

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

尝试摆脱

<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>


当然,你可以根据自己的喜好设置颜色。这是如果您使用的是静态颜色。您也可以添加渐变、圆角和边框

我也遇到过同样的问题,但我成功地解决了这个问题: 实际问题在于android 3.2在硬件加速方面存在缺陷,因此如果您在AndroidManifest中输入您的应用程序为hardwareAccelerated=“true”,您的问题将得到解决。

我使用:

android:hardwareAccelerated="false"  in AndroidManifest.xml <application> tag
AndroidManifest.xml标记中的android:hardwareAccelerated=“false”
它可以很好地工作

我尝试了这些解决方案:没有人为我工作:(你尝试过使用图像文件绘图工具而不是定义颜色吗?我会检查一下,如果它可以工作,你至少会有一个解决方法。是的,我尝试过,但不起作用:(这似乎是一个bug,不是吗?很遗憾,你必须通过Java代码来完成这项工作……请向我们展示按钮的XML以及你的颜色。单击我想你的意思是用户单击,而不是从代码中单击,对吗?你也不想让它保持按下状态,只需在按下按钮时显示不同的颜色即可?我是的,使用默认选择器,我仍然有问题。Everythink在我的设备上正常工作,但在我的桌面上不正常。您的绘图工具只是颜色?还是您正在放置的图像?我假设,由于您调用@color,它们只是颜色参考,如果是,请尝试我的原始帖子更新。谢谢,我没有收到消息,您可能会奖励您r悬赏1小时后。你是说如果我们有这个值,或者如果我们删除它,问题就会得到解决?我目前有这个值集,但我得到了这个问题。如果我们有这个值,你必须将android:hardwareAccelerated=“true”添加到应用程序中。这个问题解决了,我想我们可能没有相同的问题:(请尝试在库代码内部更改manageLayers方法,以检查是否由于某种原因(可能在设备上)在其他地方禁用了硬件加速)