Android EditText自定义样式的方法

作者:一叶飘舟 时间:2021-10-06 22:37:37 

本文实例讲述了Android EditText自定义样式的方法。分享给大家供大家参考,具体如下:

1.去掉边框

EditText的background属性设置为@null就搞定了:android:background="@null"
style属性倒是可加可不加

附原文:

@SlumberMachine, that's a great observation! But, it seems that there is more to making a TextView editable than just setting android:editable="true". It has to do with the "input method" - what ever that is - and that is where the real difference between TextView and EditText lies. TextView was designed with an EditText in mind, that's for sure. One would have to look at the EditText source code and probably EditText style to see what's really going on there. Documentation is simply not enough.

I have asked the same question back at android-developers group, and got a satisfactory answer. This is what you have to do:

XML:


<EditText android:id="@+id/title" android:layout_width="fill_parent"
  style="?android:attr/textViewStyle"
  android:background="@null" android:textColor="@null"/>

Instead of style="?android:attr/textViewStyle" you can also write style="@android:style/Widget.TextView", don't ask me why and what it means.

2.Android EditText 改变边框颜色

第一步:为了更好的比较,准备两个一模一样的EditText(当Activity启动时,焦点会在第一个EditText上,如果你不希望这样只需要写一个高度和宽带为0的EditText即可避免,这里就不这么做了),代码如下:


<EditText
 android:layout_width="fill_parent"
   android:layout_height="36dip"
   android:background="@drawable/bg_edittext"
   android:padding="5dip"
 android:layout_margin="36dip"
 android:textColorHint="#AAAAAA"
 android:textSize="15dip"
 android:singleLine="true"
 android:hint="请输入..."
/>

接下来建立三个xml文件,分别为输入框未获得焦点时的背景,输入框获得焦点时的背景,selector背景选择器(这里能获得输入框什么时候获得和失去焦点),代码如下:

bg_edittext_normal.xml(未获得焦点时)


<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
 <solid android:color="#FFFFFF" />
 <corners android:radius="3dip"/>
 <stroke
   android:width="1dip"
   android:color="#BDC7D8" />
</shape>

bg_edittext_focused.xml(获得焦点时)


<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
 <solid android:color="#FFFFFF" />
 <corners android:radius="3dip"/>
 <stroke
   android:width="1dip"
   android:color="#728ea3" />
</shape>

bg_edittext.xml(selector选择器,这方面资料网上很多)


<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_window_focused="false" android:drawable="@drawable/contact_edit_edittext_normal" />
   <item android:state_focused="true" android:drawable="@drawable/contact_edit_edittext_focused" />
</selector>

这样就OK了,效果图如下:

Android EditText自定义样式的方法

第二个输入框边框变为深色,是不是这样更友好点。

希望本文所述对大家Android程序设计有所帮助。

标签:Android,EditText
0
投稿

猜你喜欢

  • C#使用LINQ查询操作符实例代码(一)

    2021-11-27 01:41:57
  • GateWay动态路由与负载均衡详细介绍

    2022-02-10 15:12:29
  • 从零实现一个简单的Spring Bean容器的代码案例

    2022-07-24 11:42:16
  • Android编程之分辨率处理相关代码段合集

    2022-09-28 07:03:16
  • Java编程在ICPC快速IO实现源码

    2021-10-18 01:41:54
  • c#数组详解

    2023-01-31 13:09:08
  • Java获取彩色图像中的主色彩的实例代码

    2021-10-16 01:09:39
  • java身份证合法性校验并提取身份证有效信息

    2023-04-18 17:26:18
  • Java Collections集合继承结构图_动力节点Java学院整理

    2022-07-10 03:44:53
  • springboot 如何设置端口号和添加项目名

    2022-01-11 07:31:12
  • 初学者Android studio安装图文详解

    2022-08-06 07:22:12
  • 利用java操作Excel文件的方法

    2021-12-13 03:03:49
  • 基于springboot的flowable工作流实战流程分析

    2022-11-28 08:27:09
  • Java常用的八种排序算法及代码实现+图解

    2022-04-09 13:30:06
  • SpringBoot在生产快速禁用Swagger2的方法步骤

    2022-12-30 00:05:53
  • Java 中Flyway的使用详解

    2022-04-11 03:38:54
  • Android数据库中事务操作方法之银行转账示例

    2023-07-22 07:56:13
  • C#泛型方法在lua中表示的一种设计详解

    2022-08-24 20:03:12
  • Android开发之imageView图片按比例缩放的实现方法

    2023-01-09 21:52:51
  • Java 使用getClass().getResourceAsStream()方法获取资源

    2023-07-23 08:59:56
  • asp之家 软件编程 m.aspxhome.com