前言:eidtText 在小米手机上出现 白色边框条,在华为 三星 等手机上都没有出现这个问题,特地记录下 适配的问题
直接 在搜索 部分出现白色的边框,查看代码
<RelativeLayout
android:id="@+id/et_search_root"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_weight="1"
android:background="@drawable/shape_search_head_bg"
android:orientation="horizontal">
<EditText
android:id="@+id/et_search"
android:layout_toLeftOf="@+id/iv_search_delete"
android:layout_width="match_parent"
android:layout_height="35dp"
android:gravity="center_vertical"
android:background="@color/transparent"
android:drawableLeft="@drawable/search_white"
android:drawablePadding="7dp"
android:textColorHint="@color/skin_search_font_color"
android:imeOptions="actionSearch"
android:paddingLeft="10dp"
android:maxLines="1"
android:singleLine="true"
android:maxLength="15"
android:ellipsize="end"
android:textSize="15dp"
tools:text=""
android:textColor="@color/skin_common_title"/>
<LinearLayout
android:id="@+id/iv_search_delete"
android:layout_alignParentRight="true"
android:layout_width="35dp"
android:layout_height="35dp"
android:orientation="vertical"
android:gravity="center"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:layout_width="19.2dp"
android:layout_height="19.2dp"
android:background="@drawable/search_delete"/>
</LinearLayout>
</RelativeLayout>
问题 定位 如下 :在 RelativeLayout 的根布局部分 加载了 shape_search_head_bg 这个 drawable
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/account_line_color" />
<corners
android:radius="4dp"/>
</shape>
查看 很正常的一个drawable ,内部填充,圆角。在三星 华为等手机没一点问题没有,但是在红米 和部分小米手机上就会出现 上图 的情况,很无奈。
发现 在小米手机上需要设置 透明的属性
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="1dp" android:color="@color/transparent" />
<solid android:color="@color/account_line_color" />
<corners
android:radius="4dp"/>
</shape>
增加了一个属性 : stroke android:width=”1dp” android:color=”@color/transparent”
发现竟然好了,why!!!!!
最终的解决方案是 :
在部分手机上莫名其妙的出现 白色 边框或者 黑色背景色的,都需要 在 不用的属性 例如
stroke , solid 等直接颜色 变成 透明的就好了。具体原因 需要研究下!