一起Talk Android吧(第三百零四回:EditText的其它常用属性)

本文介绍了如何在Android EditText中控制字体大小,包括静态设置与动态调整,以及如何设置背景,包括去除默认下划线和自定义背景。还提及了提示文字(hint)的字体控制和其独立性。

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

 

 

各位看官们,大家好,上一回中咱们说的是Android中EditText限制输入的例子,这一回咱们说的例子是EditText的其它常用属性。闲话休提,言归正转。让我们一起Talk Android吧!

 


看官们,本章回中我们将介绍EditText的其它常用属性,主要是控制字体大小和设置背景这两个属性,接下来我们详细介绍它们。


控制字体大小


我们通常使用textSize属性控制字体大小,这点和TextView一样,因为EditText从父类TextView哪里继承了此属性。例如:android:textSize="12sp"表示输入的字体大小为12sp.

属性中控制字体大小是静态的,也就是说在页面显示前就已经固定了字体的大小,页面显示后不能去修改,如果想要修改怎么办?可以在代码中使用setTextSize()方法动态控制字体的大小,在实际项目中大部分情况下使用静态方法,遇到某种特殊情况时可以使用动态方法去调整。


该控件还有一个hint属性用来提示用户输入相关内容,提示内容的文字大小也是通过textSize属性来控制,不过官方没有提供动态控制hint字体大小的方法,只提供了一个修改字体颜色的方法:setHintTextColor(),毕竟默认的字体颜色是灰色,不够醒目。


大家现在看到了,控件中输入文字的字体大小和提示内容(hint)的字体大小是受textSize属性统一控制的,如果想让二者不一致怎么办?答案是在资源中单独控制提示文字的大小.例如:
 

android:hint="@string/hint_text" 

<string name="hint_text"><font size="24"> not empty </font></string>

表示提示文字内容为not empty,大小为24sp。此时提示文字的大小与输入文字的大小不一样。

 

设置背景


设置背景使用background属性,这里说的背景是指输入框后面的背景,系统默认的输入框背景是白色的,同时在最下方加一条灰色下划线,常用的做法是把此属性值设置为空(android:background="@null"),这样可以去掉输入框下面的下划线。也可以在drawable中自定义一条直线,然后把此直线设置为background的属性值,下面是一个示例,示例中定义了一条宽度为2sp的红色直线,并且把它应用到控件中,这样输入框中下划线就从默认的灰色变成了红色:

//自定义的直线
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">
    <stroke
        android:width="2sp"
        android:color="@android:color/holo_red_dark">
    </stroke>
</shape>
//把直线设置为EditText的背景
    <EditText
        android:background="@drawable/edit_text_underline"
        android:layout_width="match_parent"
        android:layout_height="32dp">
    </EditText>


如果只是修改输入框中下划线的颜色,还有另外一种方式:使用backgroundTint属性,例如:

android:backgroundTint="@color/colorRed"


也可以把输入框中下划线的颜色修改为红色,而且显示效果几乎和默认效果相同。不过这种方式比drawable中自定义的直线灵活性差一些,因为drawable中除了控制颜色外还可以控制直线的形状(直线或者虚线)、直线的粗细等细节。


各位看官,关于Android中EditText常用属性的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值