Android开发之EditText输入框内容变成黑色

Android开发之EditText输入框内容变成黑色

事件场景:

我在小米4的测试机上的EditText内容为白色,正常,但在华为pad上测试的时候,输入框的背景变成了黑色,且获取焦点依旧是黑色,很是诡异…

相关代码展示

布局文件中的EditText代码

                <EditText 
                    android:id="@+id/suggestion"
                    android:layout_width="0dp"
                    android:layout_weight="1"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:background="@drawable/selector_edit_dialog"
                    android:padding="5dp"
                    android:gravity="left|top"
                    android:textSize="13sp"
                    android:minLines="4"/>

selector_edit_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >

    <item 
        android:state_focused="false" android:drawable="@drawable/edit_dialog"></item>

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

</selector>

edit_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <corners android:radius="3dp"/>  
    <stroke android:color="#E0E0E0"  
        android:width="1dp"  
        /> 


</shape>

edit_dialog_selected.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <corners android:radius="3dp"/>  
    <stroke android:color="#3985D1"  
        android:width="1dp"  
        /> 


</shape>

解决办法:

发生这种情况与第三方厂家对Android系统ROM定制有关系,我们在EditText指定drawable时,小米中EditText的默认填充背景是白色的,而华为的默认填充是黑色的

我们只需要在edit_dialog.xml和edit_dialog_selected.xml加入以下代码,即可让所有机型的填充背景都为白色了。

<solid android:color="@color/white"/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值