美文网首页personAndroid开发程序员
Android 更改EditText下划线的颜色样式

Android 更改EditText下划线的颜色样式

作者: 我是一座离岛 | 来源:发表于2017-01-02 17:56 被阅读5270次

当你使用AppCompatEditText(Edit Text)时,默认的下划线是跟随系统的#FF4081的颜色值的,通过改变这个值可以改变所有的颜色样式,但是有时候你想单独定义某一个界面的颜色样式,则可以这样做:

1.在你的build.gradle中添加最新的appcompat库

dependencies { 
   compile 'com.android.support:appcompat-v7:X.X.X' // X.X.X 为最新的版本号
  }

2.让你的activity继承android.support.v7.app.AppCompatActivity

public class MainActivity extends AppCompatActivity {
   ...
}

3.在任何layout.xml文件中声明您的EditText

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="Hint text"/>

4.在styles.xml文件中声明自定义样式

<style name="MyEditText" parent="Theme.AppCompat.Light"> 
    <item name="colorControlNormal">@color/indigo</item> 
    <item name="colorControlActivated">@color/pink</item>
</style>

5.通过android:theme属性将此样式应用于您的EditText

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="Hint text" 
    android:theme="@style/MyEditText"/>

效果如下:

20161215001027 (1).png

相关文章

网友评论

  • NathansLiu:注意引用是 android:theme="@style/MyEditText"
    而不是 android:style="@style/MyEditText"
  • Veneto_2022:没有啊,compileVersion 26
    我是一座离岛:你好好检查吧,肯定哪里漏了,我compileVersion 27都没问题
  • oO百味Oo:有简单的办法吗?这条线没有xml属性吗?能通过相关属性设置吗?
    我是一座离岛: @oO百味Oo 这已经很简单了,而且理论上就该这么做最好
  • LottLi:有碰到过第一个属性失效的么?
    小小東:是 theme 不是 style
    我是一座离岛: @LottLi 没有哦,新版本也许变了,你自己查查吧
    LottLi:colorControlNormal 设置没用
  • kalshen:找了好久 你的方法太给力了 我就知道有属性可以更改 就是不知道什么属性。
  • b359f169db1b:你好这个下划线间距可以调整吗
    我是一座离岛: @青春撕扯流年_2085 两个控件的间距不是很容易调整?如果是控件本身的,这个你得自己去查查了,没碰到这样的需求

本文标题:Android 更改EditText下划线的颜色样式

本文链接:https://www.haomeiwen.com/subject/iggwvttx.html