适配:EditText背景在部分手机上显示黑色

开发功能1时写了个控件,圆角白色背景,因此写了shape_bg_round.xml,代码如下:

xml version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
    android:radius="4dp"/>
            android:width="1dp"
        android:color="@color/blue_589dfc"/>
    android:color="@android:color/white"/>

后来,开发功能2时,也用到该控件,但是要求控件不带背景色,显示页面的背景,回头看了下功能1用到该控件的地方,其实控件不需要设背景色,因为页面底色已经设置了白色,所以不多想就把solid的设置去掉了。

在测试机1(Nexus 5x)上检查效果,都没问题,显示正常。后来因为其他原因用了测试机2(小米1)来做适配,竟然发现该控件的背景色都是黑乎乎的,立即意识到问题所在了,马上把代码修改为:

xml version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
    android:radius="4dp"/>
            android:width="1dp"
        android:color="@color/blue_589dfc"/>
    android:color="@android:color/transparent"/>

在两个手机上都正常了。

总结:如果shape等背景文件不需要带颜色,不能直接把solid的颜色去掉,而是设置为透明,不然会有适配问题,部分手机显示为黑色。

以前碰到过一次,这是第二次碰到了,所以记录下来。

你可能感兴趣的:(android)