[Android学习笔记]EditText的使用

本文介绍了Android中EditText控件的基本用法及高级定制技巧,包括如何取消默认获取焦点、定义不同状态下的样式等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

EditText就是我们最常用的文本输入框

 

常用属性见官方文档

 

主要是以下几个问题:

1.取消默认获取焦点

Activity启动时候会把焦点默认停留在第一个EditText控件上

 

一般的解决方法是在此EditeText之前加入一个看不到的控件,让其先于EditText获取焦点

加入一个看不到LinearLayout控件

        <LinearLayout
        android:focusable="true" 
        android:focusableInTouchMode="true"
        android:layout_width="0px" 
        android:layout_height="0px"/>
LinearLayout

 

2.修改EditeText样式

一般步骤为:

a).res/drawable文件夹下建立editeText需要的外观样式

b).定义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="#cccccc" />   
</shape>
bg_edittext_normal.xml

 

获取焦点的样式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_focused.xml

 

selector:bg_edittext.xml

<?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/bg_edittext_normal" />  
        <item android:state_focused="true" android:drawable="@drawable/bg_edittext_focused" />  
</selector>
bg_edittext.xml

 

使用selector:

        <EditText
            android:id="@+id/editTextContent"
            android:layout_width="350dp"
            android:layout_height="match_parent"
            android:background="@drawable/bg_edittext"
            android:text="123" />
使用EditText

 

转载于:https://www.cnblogs.com/hellenism/p/3655558.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值