更改EditText的线条颜色 - Android

时间:2014-11-26 14:24:37

标签: android android-edittext

我可以更改EditText上的线条颜色。当它处于活动状态时,它会呈现一些绿色。Image

活动时是否可以仅更改线条的颜色,我该怎么做??

9 个答案:

答案 0 :(得分:10)

您需要为编辑文本设置背景源。

  1. 生成http://android-holo-colors.com/
  2. 您可以将生成的drawable应用为自定义android:background="@drawable/my_theme_edit_text"的{​​{1}}等背景。或者您可以在应用主题中设置该背景 - 您将在该网站的.zip文件中找到示例

答案 1 :(得分:8)

添加到 themes.xml 这一行:

<item name="colorAccent">@color/black</item>

这将设置用于着色小部件的colorControlActivated的默认颜色

答案 2 :(得分:8)

你在这里:

editText.getBackground().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);

答案 3 :(得分:8)

您可以将edittext的背景设置为一个矩形,在左侧,右侧和顶部使用减去填充来实现此目的。

以下是为聚焦和非聚焦的edittext设置不同线条颜色的xml示例,只需将其设置为edittext的背景。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:top="-2dp"
        android:left="-2dp"
        android:right="-2dp"
        android:bottom="2dp">
        <selector >
            <item android:state_enabled="true"
                android:state_focused="true">
                <shape
                    android:shape="rectangle">
                    <stroke
                        android:width="2dp"
                        android:color="#6A9A3A"/>
                </shape>
            </item>
            <item android:state_enabled="true">
                <shape
                    android:shape="rectangle">
                    <stroke
                        android:width="1dp"
                        android:color="#000000"/>
                </shape>
            </item>
        </selector>
    </item>
</layer-list>

答案 4 :(得分:5)

你可以设置android:backgroundTint =“@ color / blue”来改变Edittext底线的颜色

答案 5 :(得分:4)

<EditText
            android:id="@+id/editText1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:background="@drawable/text"
            android:ems="10"
            android:textColorHint="#fefefe"
            android:hint="@string/text1"
            android:textColor="#fefefe"
            android:inputType="textEmailAddress"
            android:layout_marginTop="10dp"
/>

在res / drawable / text.xml中使用以下代码

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:top="24.0dp">
   <shape >
      <solid android:color="#fefefe"  />
   </shape>
   </item>
</layer-list>

答案 6 :(得分:0)

您可以使用android:background = "@color/black" for the api 21或以上21(这将适用于lollypop设备或以上版本),对于以下版本,您应该使用该样式的edittext。

答案 7 :(得分:0)

我遇到了同样的问题 通过改变backgroundTint的颜色来解决它 - 如下 -

机器人:backgroundTint =&#34; @颜色/ light_color&#34;

答案 8 :(得分:0)

如果您使用EditInxt的TextInputLayouts,我们应该更改以下属性。

<item name="colorControlNormal">#c5c5c5</item>
<item name="colorControlActivated">@color/your color</item>
<item name="colorControlHighlight">@color/your color</item>

默认情况下,color为colorAccent。