Android定制自己的EditText轻松改变底线颜色_Android

最近做 android 项目遇到这个问题,为了保持 app 风格一致,需要将原生的EditText底线颜色改成橙色。网上搜了一些解决方案,特此记录总结一下。

效果图

默认的EditText底线颜色是蓝色的,

我们想实现橙色的效果

实现方法

1、准备两个背景图

一个作为 edittext 的默认背景 , 另一个作为 输入时候的背景

Note

使用 9.png, 不要用png, 否则图片会模糊, 花掉

在文件夹 drawable 用selector 建立一个xml 文件

<!-- drawable/edittext_shape.xml -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">

 <item android:drawable="@drawable/edittext_default" android:state_focused="false"/>
 <item android:drawable="@drawable/edittext_focused" android:state_focused="true"/>

</selector>

在 values 文件夹 下面的 styles.xml 新建一个style

此步骤是为了复用这个样式, 也可以不用style, 直接在 layout里的布局 xml 里 写代码

<!-- drawable/values/styles.xml -->

<style name="SmsEditText">
 <item name="android:layout_marginLeft">20dp</item>
 <item name="android:layout_marginRight">20dp</item>
 <item name="android:layout_marginTop">20dp</item>
 <item name="android:layout_width">match_parent</item>
 <item name="android:layout_height">wrap_content</item>
 <item name="android:textSize">16sp</item>
 <item name="android:background">@drawable/edittext_shape</item>
</style>

在layout的布局文件中引用定制的edittext

<!-- drawable/layout/fragment_bomb.xml -->
<LinearLayout
 android:id="@+id/input"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical"
 android:padding="20dp" >

 <EditText
  android:id="@+id/phone"
  style="@style/SmsEditText"
  android:hint="@string/phone_hint"
  android:inputType="phone"
  android:maxLength="11"
  android:maxLines="1" />

 <EditText
  android:id="@+id/times"
  style="@style/SmsEditText"
  android:hint="@string/times_hint"
  android:inputType="number"
  android:maxLines="1" />
</LinearLayout>

在edittext 底部加上一条直线( 仿微信)

原生的效果是edittext底部是一个凹形的线,这样不是很美观。微信的输入框下面是一条直线。如何实现呢?可以将上面的图片改成直线型的,不过需要美工人员 PS 的帮忙。我们也可以利用 xml 文件来画出图形,完成所需的直线效果。

利用xml 画线

本来想利用xml 画线, 做出微信 输入框 的那种下面是一条直线,发现纯粹用xml不美观, 这种还是让美工做一个背景图可能比较好。

查看这篇文章:android利用xml实现分割线

edittext 去除边框

android:background="@null"

这个代码可以去掉 edittext 的边框
edittext 底部加线

在drawable 新建一个 line.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >

 <solid android:color="@color/orange_normal" />

 <size
  android:height="1dp"
  android:width="1000dp" />

</shape>

在layout 的布局文件中引用

<EditText
  android:id="@+id/phone"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:background="@null"
  android:drawableBottom="@drawable/line"
  android:hint="@string/phone_hint"
  android:inputType="phone"
  android:maxLength="11"
  android:maxLines="1" />

以上就是本文的全部内容,希望对大家的学习有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android
, edittext
底线颜色
edittext底线颜色、edittext设置底线颜色、android edittext底线、edittext改变底线颜色、edittext 多行底线,以便于您获取更多的相关知识。

时间: 2024-12-22 09:25:03

Android定制自己的EditText轻松改变底线颜色_Android的相关文章

Android定制自己的EditText轻松改变底线颜色

最近做 android 项目遇到这个问题,为了保持 app 风格一致,需要将原生的EditText底线颜色改成橙色.网上搜了一些解决方案,特此记录总结一下. 效果图 默认的EditText底线颜色是蓝色的, 我们想实现橙色的效果 实现方法 1.准备两个背景图 一个作为 edittext 的默认背景 , 另一个作为 输入时候的背景 Note 使用 9.png, 不要用png, 否则图片会模糊, 花掉 在文件夹 drawable 用selector 建立一个xml 文件 <!-- drawable/

[android]我想知道是否能够设置软键盘输入切换到下一个EditText动态改变输入类型?

问题描述 [android]我想知道是否能够设置软键盘输入切换到下一个EditText动态改变输入类型? 问题,假设有2个EditText,第一个inputType=text,第二个也是text的.我想这么做,在第一个软键盘弹出后,我换了输入类型是numer,下一步切换到第二个Edittext,软键盘会自动改变类型为text的键盘界面,我希望能通过什么方法,保证软键盘不会自动切换类型.

Android软件开发之EditText 详解

  Android软件开发之EditText 详解 EditText在API中的结构 java.lang.Object android.view.View android.widget.TextView         android.widget.EditText 已知直接子类: AutoCompleteTextView, ExtractEditText 已知间接子类: MultiAutoCompleteTextView               EditText是TextView的直接子类

首款联通Android定制手机正式上市

3月11日消息,中国联通终端运营公司联通华盛向摩托罗拉定制的全互联网3G 智能手机--智酷XT701正式上市,这是联通首款基于最新的Android 2.0版本的智能手机,带有WiFi和WAPI上网功能,也显示了联通定制手机的一个重大方向. 联通Android定制手机上市 这同时也是联通的又一明星3G机型.该款手机的售价为4299元. 正式上市后,用户不仅可在联通各地主要营业厅.各大中城市的苏宁.国美等全国连锁家电卖场及各手机卖场购买,也可在联通网上营业厅(www.10010.com)和联通华盛网

android 静默安装-android 定制系统下的静默安装

问题描述 android 定制系统下的静默安装 目前的要求是在ACER-Z120手机上(该手机应该是基于android 4.1.1的定制系统)实现软件的静默安装.就是我要写一个控制软件来下载被控制软件,下载完了静默安装被控制软件.我的控制软件要执行 pm install 命令是不是要先得到该操作系统的platform..pk8 platform.x509.pem signapk.jar三个文件,用命令来对我的控制软件进行签名,在安装进入该手机?整个过程这样对吗? 解决方案 放在/system/a

Android开发改变字体颜色方法_Android

在TextView中添加文本时有时会改变一些文本字体的颜色,今天主要分享三种实现方法及相关优缺点. 1.通过html标签改变文本颜色 复制代码 代码如下: tv.setText(Html.fromHtml("我是<font color=blue>danyijiangnan</font>")); 点评:通过Html.fromHtml()方法就可以在字符串中使用html的标签,通过font标签可以改变字体的格式.麦子学院-国内最专业的IT在线教育平台. 2.在act

Android中颜色选择器和改变字体颜色的实例教程_Android

1.构建一张七彩图: 我们经常看到这种样子的颜色选择器吧.. 然后其实右边的亮度选择是: 这样我们的代码就可以进行啦...   // 创建七彩图片 private void init() { int[] oc = { 0xffff0000, 0xffffff00, 0xff00ff00, 0xff00ffff, 0xff0000ff, 0xffff00ff, 0xffff0000 }; float[] op = { 0, 0.16667f, 0.33333f, 0.5f, 0.66667f, 0

android 用selector设置edittext图片问题

问题描述 android 用selector设置edittext图片问题 用没有这种用法: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="false" android:d

线程-android PagerView里面的数据怎么改变

问题描述 android PagerView里面的数据怎么改变 定义一个Pagerview 里面的view个数,根据一个文件的里面的列数(一列就一个城市)来决定. pagerview的内容,是引入一个布局,布局里面很多元素(用来显示当天城市的天气,以及未来几天的天气). 每次查询天气的时候,先开启一个线程,线程里面链接网络获取天气数据,写入集合,然后将信息发送给handler. handler里面去改变UI显示的天气,但是这里遇到了麻烦,Pagerview里面每一个布局不知道怎么去改变了. 解决