我正在使用这样的代码在我的xml文件中创建一个三个EditText。
<EditText
android:id="@+id/name_edit_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/profile_image_view_layout"
android:layout_centerHorizontal="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="20dp"
android:ems="15"
android:hint="@string/name_field"
android:inputType="text" />
当我运行应用程序时,它在我的设备中看起来像这样。
但我想看看没有使用任何背景图片。
那怎么办呢?任何想法或建议都会有所帮助。
答案 0 :(得分:37)
创建像edit_text_design.xml这样的xml文件并将其保存到drawable文件夹
我根据我的选择给出了颜色代码,请根据您的选择更改颜色代码!
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape>
<solid android:color="#c2c2c2" />
</shape>
</item>
<!-- main color -->
<item
android:bottom="1.5dp"
android:left="1.5dp"
android:right="1.5dp">
<shape>
<solid android:color="#000" />
</shape>
</item>
<!-- draw another block to cut-off the left and right bars -->
<item android:bottom="5.0dp">
<shape>
<solid android:color="#000" />
</shape>
</item>
</layer-list>
您的编辑文字应将其包含在背景中:
将 android:background =“@ drawable / edit_text_design”添加到所有EditText的
以上的EditText现在应该如下所示:
<EditText
android:id="@+id/name_edit_text"
android:background="@drawable/edit_text_design"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/profile_image_view_layout"
android:layout_centerHorizontal="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="20dp"
android:ems="15"
android:hint="@string/name_field"
android:inputType="text" />
答案 1 :(得分:26)
您有几个选择。
使用Android assets studios Android Holo colors generator生成您需要添加到应用中的资源,样式和主题,以便在所有设备上显示全息图。
使用holo everywhere库。
将PNG用于全息文本字段并自行将其设置为背景图像。您可以从Android资产工作室全息颜色生成器获取图像。您必须制作一个drawable并定义正常,选定和禁用状态。
更新2016-01-07
这个答案现在已经过时了。 Android现在可以直接调整API和控件主题的能力。关于如何设置样式或主题任何元素的一个很好的参考是一个名为materialdoc的网站。
答案 2 :(得分:9)
我在10分钟前解决了同样的问题,所以我会给你一个简短的有效修复: 将其放在应用程序标签或清单中:
android:theme="@android:style/Theme.Holo"
还可以在布局的图形视图中将XML布局的主题设置为Holo。
如果您需要更改更复杂的主题内容,库将非常有用,但这个小修补程序将起作用,因此您可以继续使用您的应用程序。
答案 3 :(得分:5)
我使用下面的代码。检查它是否有帮助。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#00f" />
<padding android:bottom="2dp" />
</shape>
</item>
<item android:bottom="10dp">
<shape android:shape="rectangle" >
<solid android:color="#fff" />
<padding
android:left="2dp"
android:right="2dp" />
</shape>
</item>
<item>
<shape android:shape="rectangle" >
<solid android:color="#fff" />
</shape>
</item>
</layer-list>
答案 4 :(得分:4)
edittext_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/edittext_pressed" android:state_pressed="true" /> <!-- pressed -->
<item android:drawable="@drawable/edittext_disable" android:state_enabled="false" /> <!-- focused -->
<item android:drawable="@drawable/edittext_default" /> <!-- default -->
</selector>
edittext_default.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#BBDEFB" />
<padding android:bottom="2dp" />
</shape>
</item>
<item android:bottom="5dp">
<shape android:shape="rectangle" >
<solid android:color="#fff" />
<padding
android:left="0dp"
android:right="0dp" />
</shape>
</item>
<item>
<shape android:shape="rectangle" >
<solid android:color="#fff" />
</shape>
</item>
</layer-list>
edittext_pressed.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#00f" />
<padding android:bottom="2dp" />
</shape>
</item>
<item android:bottom="5dp">
<shape android:shape="rectangle" >
<solid android:color="#fff" />
<padding
android:left="0dp"
android:right="0dp" />
</shape>
</item>
<item>
<shape android:shape="rectangle" >
<solid android:color="#fff" />
</shape>
</item>
</layer-list>
edittext_disable.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#aaaaaa" />
<padding android:bottom="2dp" />
</shape>
</item>
<item android:bottom="5dp">
<shape android:shape="rectangle" >
<solid android:color="#fff" />
<padding
android:left="0dp"
android:right="0dp" />
</shape>
</item>
<item>
<shape android:shape="rectangle" >
<solid android:color="#fff" />
</shape>
</item>
</layer-list>
答案 5 :(得分:0)
现在适用于AppCompatEditText
注意:我们需要使用 app:backgroundTint 而不是 android:backgroundTint
<android.support.v7.widget.AppCompatEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Underline color change"
app:backgroundTint="@color/blue_gray_light" />