Android控件 – TextView、Button、EditText、CompoundButton、CheckBox简介「建议收藏」

Android控件 – TextView、Button、EditText、CompoundButton、CheckBox简介「建议收藏」TextViewTextView类是View的直接子类,用于单纯地显示一行或多行静态文本的视图。它继承View所有XML属性,并有着自己的XML属性。在XM布局中常用的属性:属性说明android:autoLink设置文本超链接样式,并点击跳向链接,值:none不匹配任何类型的文字(默认);web匹配URL地址,单击后打开浏览器显示地址;email匹配邮箱地址,单击后打

大家好,又见面了,我是你们的朋友全栈君。

TextView

TextView类是View的直接子类,用于单纯地显示一行或多行静态文本的视图。它继承View所有XML属性,并有着自己的XML属性。

在XM布局中常用的属性:

属性 说明
android:autoLink 设置文本超链接样式,并点击跳向链接,值:none 不匹配任何类型的文字(默认); web 匹配URL地址,单击后打开浏览器显示地址;email 匹配邮箱地址,单击后打开邮箱发送邮件;phone 匹配电话号码,单击后打开拔号界面;map 匹配地图地址,单击后打开地图选项;all 匹配所有的格式,自动检测web、phone、email和map四种格式
android:autoText 是否使用自动拼写帮助,默认false
android:cursorVisible 设定光标为显示/隐藏,默认true
android:digits 设置允许输入哪些字符,默认false
android:drawableBottom 在控件下方绘制一个drawable,这里可以是图片引用、颜色,这里如果是颜色的话会把文本背景设为该颜色,并且如果同时和background使用时会覆盖后者
android:drawableEnd 在控件结尾处绘制一个drawable
android:drawableLeft 在控件左边处绘制一个drawable
android:drawablePadding 设置文本与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果
android:drawableRight 在控件右边处绘制一个drawable
android:drawableStart 在控件开始处绘制一个drawable
android:drawableTop 在控件上方绘制一个drawable
android:editable 设置是否可编辑,即EditView
android:ellipsize 内容过长的时,显示带省略号,值:none、start、middle、end、marquee(跑马灯)
android:ems 设置控件的宽度为N个字符的宽度。这里测试为一个汉字字符宽度
android:fontFamily 设定文本的字体
android:freezesText 设置屏幕旋转后的文本是否保存文本的内容以及光标的位置,默认false
android:gravity 针对自身视图如何定位当前内容位置,值:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、centent、fill、clip_vertical、clip_horizontal、start、end
android:height 设置文本区域的高度
android:hint 文本为空时显示的文字水印提示信息
android:imeOptions 输入键盘确定铵钮类型,在EditText中使用,值:actionNone(回车键)、actionGo(Go) 、actionSearch(搜索) 、actionSend(发送) 、actionNext(下一步) 和 actionDone(确定/完成)
android:includeFontPadding 置文本是否包含顶部和底部额外空白,默认为true
android:inputMethod 为文本指定输入法,需要完全限定名(完整的包名)
android:inputType 设置文本的类型,用于帮助输入法显示合适的键盘类型
android:letterSpacing 文本字母间距
android:lineSpacingExtra 设置行间距
android:lineSpacingMultiplier 设置行间距的倍数
android:lines 设置文本的行数
android:linksClickable 设置链接是否点击连接,即使设置了autoLink
android:marqueeRepeatLimit 在ellipsize属性指定marquee(跑马灯)情况下,字幕动画重复滚动的次数
android:maxHeight 设置文本区域的最大高度
android:maxLength 限制显示的文本长度,超出部分不显示
android:maxLines 设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示
android:maxWidth 设置文本区域的最大宽度
android:minHeight 设置文本区域的最小高度
android:minLines 设置文本的最小行数,与lines类似
android:minWidth 设置文本区域的最小宽度
android:numeric 输入限制,值:integer(输入是数字的)、signed(输入是数字的,符号是允许的。)、decimal(输入数字、小数允许)
android:password 输入密码专用,输入字符显示为密码点
android:phoneNumber 设置为电话号码的输入方式
android:privateImeOptions 设置输入法选项
android:scrollHorizontally 设置文本超出TextView的宽度的情况下,是否出现横拉条
android:selectAllOnFocus 如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置
android:shadowColor 指定文本阴影的颜色,需要与shadowRadius一起使用
android:shadowDx 设置阴影横向坐标开始位置
android:shadowDy 设置阴影纵向坐标开始位置
android:shadowRadius 设置阴影的模糊半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好
android:singleLine 是否单行或者多行,回车是离开文本框还是文本框增加新行
android:text 设置显示文本
android:textAllCaps 文本全部大写
android:textAppearance 设置文字外观,基于文字的颜色,typeface,大小和样式
android:textColor 设置字体颜色
android:textColorHighlight 设置被选中文字的底色,默认为蓝色
android:textColorHint 设置提示信息文字的颜色,默认为灰色
android:textColorLink 链接的文本颜色
android:textIsSelectable 文本内容是否可选择
android:textScaleX 控制字与字之间的间距
android:textSize 设置文字大小
android:textStyle 设置字形,值:normal(常规) 、bold(粗体)、italic(斜体)。可以设置一个或多个,用“|”隔开
android:typeface 设置文本字体,值:normal、sans、serif 、monospace(等宽字体)
android:width 设置文本区域的宽度

使用实例1 – 网址超链接:

<TextView 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:autoLink="web"
    android:text="www.csdn.net"/>

使用实例2 – 显示图片和背景:

<TextView
    android:id="@+id/txt_back"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:paddingLeft="20dp"
    android:paddingRight="15dp"
    android:background="@drawable/return_btn_bg"
    android:drawableLeft="@drawable/wallpaper_preview_back_selector"/>

使用实例3 – 文字标签更丰富多采:

TextView tvUserName = (TextView)findViewById(R.id.tv_user_name);
String str = "<font color=\"#FF0000\">你好</font><br><font color=\"#00FF00\">安卓</font>"
tvUserName .setText(Html.formHtml(str));

// 带图片-------------------------------------------------------------------
TextView tvUserName = (TextView)findViewById(R.id.tv_user_name);
String str = "<h1>测试图片< /h1>< p><img src=" + R.drawable.ic_launcher + "></p>";
tvUserName .setText(Html.formHtml(str, imgGetter, null));

ImageGetter imageGetter = new Html.ImageGetter() {
    public Drawable getDrawable(String source) {
        int id = Integer.parseInt(source);
        Drawable drawable = getResources().getDrawable(id);
        return drawable;
    }
}

Button

Button类是TextView的直接子类,代表一个按钮控件。它继承View和TextView所有XML属性。

使用实例1 – XML中指定单击方法:

<Button     
    android:layout_height="wrap_content"     
    android:text="@string/self_destruct"     
    android:onClick="selfDestruct" />

使用实例2 -代码中指定单击方法:

Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {             
    public void onClick(View v) {    
        // TODO...             
    }         
});

EditText

EditText类是TextView的直接子类,代码一个可编辑的文本框。它继承View和TextView所有XML属性。

使用实例:

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="请输入用户名" />
<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:maxLength="10"
    android:numeric="integer"
    android:passwrod="true"
    android:hint="请输入密码" />

使用实例2 – 字体设置:

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:typeface="sans" 
    android:hint="我的是字体是sans"/>
<EditText
    android:et_user_name
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="我的是字体是华文行楷" />
// -------------------------------------------------------------------
EditText etUserName = (EditText)findViewById(R.id.et_user_name);
Typeface typeFace = Typeface.createFromAsset(getAssets(), "fonts/ STXINGKA.TTF");
etUserName.setTypeface(typeFace);

使用实例3 – 键盘按钮监听:

<EditText
        android:id="@+id/et_user_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:imeOptions="actionDone"/>
// -------------------------------------------------------------------
EditText etUserName = (EditText)findViewById(R.id.et_user_name);
etUserName.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if(actionId == EditorInfo.IME_ACTION_DONE) {
            return true;
        }
        return false;
    }
});

CompoundButton

CompoundButton继承自Button类,在这个类中封装了一个 checked属性,用于判断按钮是否被选中状态,这也是它与Button的不同。它的子类有:CheckBox, RadioButton, Switch,ToggleButton,等。

在XM布局中扩展的属性:

属性 说明
android:button 按钮样式的扩展,可以是资源的引用
android:buttonTint 按钮样式用到的颜色,此值必须是一颜色值
android:buttonTintMode 按钮样式混合模式图形色彩,值:src_over、src_in、src_atop、multiply、screen、add

CheckBox

CheckBox类是继承于CompoundButton类,而CompoundButton类继承于Button类,代表一个复选框按钮控件。它继承View、TextView和CompoundButton所有XML属性。

使用实例:

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:button="@drawable/checkboxstyle" 
    android:text="请勾选我"/>

// checkboxstyle.xml--------------------------------------------------------
<?xml version = "1.0" encoding="UTF-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state check="true" android:drawable="@drawable/select" />
    <item android:state check="fale" android:drawable="@drawable/unselect" />
</selector>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/161176.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Linux部署redis_weblogic部署Linux

    Linux部署redis_weblogic部署Linux前言网上搜索了一筐如何在Linux下安装部署Redis的文章,各种文章混搭在一起勉强安装成功了。自己也记录下,方便后续安装时候有个借鉴之处。Redis版本5.0.4 服务器版本LinuxCentOS7.664位下载Redis进入官网找到下载地址Redis右键Download按钮,选择复制链接。进入到Xshell控制台(默认当前是root根目录),输入wget将上面复制的下载链接粘贴上,如下命令: 1 wgethttp://down.

  • BZOJ-9-3295: [Cqoi2011]动态逆序对[通俗易懂]

    BZOJ-9-3295: [Cqoi2011]动态逆序对[通俗易懂]BZOJ-9-3295: [Cqoi2011]动态逆序对

  • python缩进错误「建议收藏」

    Python报错TabError:inconsistentuseoftabsandspacesinindentation平台Geany错误原因python的缩进符为四位空格,修改方法:Python报错:IndentationError:unindentdoesnotmatchanyouterindentationlevel依旧是缩进出现问题如图:缩进时四个空格一个不能少!!!…

  • 第十一周上机项目2 求最大公约数「建议收藏」

    第十一周上机项目2 求最大公约数「建议收藏」问题及代码:/**Copyright(c)2014,烟台大学计算机学院*Allrightsreserved.*文件名称:test.cpp*作者:曹莉萍*完成日期:2014年10月27日*版本号:v1.0**问题描述:求几个数的最大公约数*输入描述:输入几个不同的整数,求出这几个数的最大公约数*程序输出:最大公约数*/#in

  • 机器人视觉软件工程师_机器视觉工程师能干到多少岁

    机器人视觉软件工程师_机器视觉工程师能干到多少岁  大家好,本人是刚刚入职的视觉工程师,现在已经一年了,也给大家分享一下在这一段时间里,我做了什么,以及学到了什么。对了,虽然我只做了两个月的视觉工程师,但是我已经连续写了12年的日记了,我想把这个好习惯一直延续下去,也算是做个记录。可能没有人看,只做个人消遣吧!2020.9.15  先讲一下我的个人情况吧,大学是在湖南省湘潭市读的,在大四的时候遇到了一个好的老师,领我上了计算机视觉的末班车,为我拨开本来迷茫如雾的未来,在毕业后只身踏入计算机视觉漫漫长征路。其实坦白来讲,我是打算在毕业后做一名

  • 语义分割模型精度排名_场景语义分割

    语义分割模型精度排名_场景语义分割憨批的语义分割1——基于Mobile模型的segnet讲解学习前言什么是Segnet模型segnet模型的代码实现1、主干模型Mobilenet。2、segnet的Decoder解码部分代码测试学习前言最近开始设计新的领域啦,语义分割也是图像处理一个非常重要的应用方向,我查了很多资料苦于如何入门,接下来给大家讲讲里面比较基础的segnet模型。在下一个BLOG我会跟大家讲怎么训练自己的segn…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号