【问题标题】:Changing bottom line colour of edittext更改edittext的底线颜色
【发布时间】:2015-03-23 13:31:35
【问题描述】:

我正在尝试更改 EditText 的底线颜色,但它显示默认的蓝线颜色。我不明白我哪里出错了?

<EditText
        android:id="@+id/searchtext"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="15dp"
        android:textColor="#000000"
        android:layout_alignParentTop="true"
        android:maxLines="1"
        android:singleLine="true"
        android:layout_toLeftOf="@+id/usericonlayout"
        android:padding="7dp"
        android:layout_marginTop="10dp"
        android:hint="Search for all GIFs"
        android:textColorHint="#A0A0A0"
        android:shadowColor="@color/border_gray"
        android:theme="@style/EditTextStyle"/>

styles.xml

  <style name="AppBaseTheme" parent="android:Theme.Light">

        <item name="colorAccent">@color/border_gray</item>
        <item name="android:editTextStyle">@style/EditTextStyle</item>
    </style>
   <style name="AppTheme" parent="AppBaseTheme">

        <item name="colorAccent">@color/border_gray</item>
        <item name="android:editTextStyle">@style/EditTextStyle</item>
    </style
 <style name="EditTextStyle" parent="Widget.AppCompat.EditText">
    <item name="colorControlNormal">@color/border_gray</item>
    <item name="colorControlActivated">@color/border_gray</item>
    <item name="colorControlHighlight">@color/border_gray</item>
    </style>

我也试过了-

edittext.getBackground().setColorFilter(getResources().getColor(R.color.border_gray), PorterDuff.Mode.SRC_ATOP);

但没用

【问题讨论】:

标签: android android-layout android-imageview


【解决方案1】:

我认为您正在尝试在您的应用中实现材料设计。 首先,您的 res 文件夹中应该只有两个 values 文件夹。 1. 值(对于版本

styles.xml 用于版本

<style name="AppBaseTheme" parent="Theme.AppCompat.Light">

        ....
        <item name="android:editTextStyle">@style/EditTextStyle</item>
</style>

<style name="EditTextStyle" parent="Widget.AppCompat.EditText">
         <item name="colorControlNormal">@color/border_gray</item>
         <item name="colorControlActivated">@color/border_gray</item>
         <item name="colorControlHighlight">@color/border_gray</item>
</style>

对于 v21

<style name="AppBaseTheme" parent="@android:style/Theme.Material.Light">
    .....
     // Your style here
</style>

【讨论】:

    【解决方案2】:

    如果您使用的是 Api lvl >= 21,那么您必须将“android:”命名空间放在您列出的每个属性的前面。

    如果您使用 AppCompat,则必须将 Theme 的父级更改为:

    @style/Theme.AppCompat.Light
    

    【讨论】:

      【解决方案3】:

      在这里..

      <EditText
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:drawableBottom="@color/yourColor"/>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-14
        • 1970-01-01
        • 2014-12-21
        • 1970-01-01
        • 1970-01-01
        • 2017-07-23
        • 1970-01-01
        相关资源
        最近更新 更多