2016-05-22 56 views
0

我正在创建自定义drawable,因此地图顶部的EditText有圆角。我试图服从shape的文档中的正确参数。具体来说,我尝试使用固体区域来设定一个白色的背景:Android地图EditText不透明

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <corners android:radius="5dp" /> 
    <solid android:color="#FFFFFF"/> 
</selector> 

<EditText 
... 
android:background="@drawable/text_box" 
.../> 

但EditText上仍然是透明的 - 我不希望地图是behing的EditText上可见。 enter image description here

回答

1

您应该创建资源首先被拉伸状的角和背景PARAMS:

myshape.xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
    <corners android:radius="5dp"/> 
    <solid android:color="#BFFFFFFF"/> 
</shape> 

myselector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <corners android:radius="5dp" /> 
    <solid android:drawable="@drawable/myshape"/> 
</selector> 

而且里面使用选择您的编辑文字:

<EditText 
... 
android:background="@drawable/myselector" 
.../> 

BF ...是75%的不透明度。 H ere you can found all opacity

+0

是否可以使用一个附加文件而不是两个文件来完成此操作?你能解释为什么这个工作和我的解决方案不起作用吗? – lf215

+0

如果你想要的话,你只能使用myshape.xml:** android:background =“@ drawable/myspahe”**。如果你需要专门绘制特定情况的drawable,通常你使用选择器,例如:按压状态等。 – mcatta