这是我的editext,我想改变edittext的底线颜色。我使用android:backgroundTint,但它只在API 21及其上面工作。
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:backgroundTint="@color/edittintcolor"
android:drawableLeft="@drawable/lock"
android:hint=" Password"
android:padding="15dp"
android:textColor="@color/edittintcolor"
android:textColorHint="@color/edittintcolor"
android:textSize="18sp"
android:typeface="serif" />
我想使用XML或样式而不是在java代码中更改此颜色
答案 0 :(得分:1)
bg.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FDEEF4" />
<corners
android:radius="15dp" />
<stroke android:width="1dip" android:color="#F9966B" />
<EditText
android:id="@+id/password"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="@drawable/bd=g"
android:hint="@string/password"
android:inputType="textPassword" >
</EditText>
答案 1 :(得分:0)
为您的edittext背景创建一个可绘制的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="@android:color/transparent" />
<!--background color of box-->
</shape>
</item>
<item
android:left="-2dp"
android:right="-2dp"
android:top="-2dp">
<shape>
<solid android:color="@android:color/transparent" />
<stroke
android:width="1dp"
android:color="@android:color/white" />
<!-- color of edittext line -->
</shape>
</item>
</layer-list>
并将该drawable xml设置为您的edittext背景。 :)
答案 2 :(得分:0)
在编辑文本中使用如下命令
<EditText
android:id="@+id/password"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="@drawable/edittextborder"
android:hint="@string/password"
android:inputType="textPassword" >
<requestFocus />
</EditText>
然后在drawable文件夹
中继续下面的代码<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FDEEF4" />
<corners
android:radius="15dp" />
<stroke android:width="1dip" android:color="#F9966B" />
答案 3 :(得分:0)
我们可以通过两种方式实现, 方法1: 我们可以使用selector drawable设计背景图像,
在drawable中创建backgroundEditText.xml,
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_window_focused="false"
android:state_enabled="true"
android:drawable="@drawable/textfield_default" />
<item
android:state_window_focused="false"
android:state_enabled="false"
android:drawable="@drawable/textfield_disabled" />
<item
android:state_pressed="true"
android:drawable="@drawable/textfield_pressed" />
<item
android:state_enabled="true"
android:state_focused="true"
android:drawable="@drawable/textfield_selected" />
<item
android:state_enabled="true"
android:drawable="@drawable/textfield_default" />
<item
android:state_focused="true"
android:drawable="@drawable/textfield_disabled_selected" />
<item
android:drawable="@drawable/textfield_disabled" />
textfield_pressed.9.png [![textfield_pressed.9] [4] [4]
textfield_selected.9.png [![textfield_selected.9] [5] [5]
我们需要在布局文件
中为EditText设置backgroundEditText<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/edit1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/edit1_text"
android:inputType="text"
android:background="@drawable/edit_text"
/>
</LinearLayout>
[![最终输出] [6]] [6]
方法2: 使用android.support.v4支持库,我们可以提供向后兼容性。
答案 4 :(得分:-1)
您可以使用this site生成自己的EditText
样式。
生成drawable
并将其设置为背景,例如:
android:background="@drawable/generated_theme_edit_text"