先来整理一下TexView,EditView的使用方法。

Textview是最主要的组件。直接继承了View,也是众多组件的父类。所以了解她的属性会对学习其它组件非常有帮助。

TextView的属性:

android:autoLink  
设置是否当文本为URL链接/email/电话号码/map时。文本显示为可点击的链接。可选值(none/web/email/phone/map/all)

  android:autoText 假设设置,将自己主动运行输入值的拼写纠正。此处无效果。在显示输入法并输入的时候起作用。

  android:bufferType 指定getText()方式取得的文本类别。

选项editable 类似于StringBuilder可追加字符。 也就是说getText后可调用append方法设置文本内容。

spannable 则可在给定的字符区域使用样式。參见这里1、这里2。

  android:capitalize 设置英文字母大写类型。

此处无效果,须要弹出输入法才干看得到,參见EditView此属性说明。 none不转换,sentence每一个句子的首字母大写。words每一个单词字母大写。characters每一个字母都大写

  android:cursorVisible 设定光标为显示/隐藏。默认显示。

  android:digits 设置同意输入哪些字符。

如“1234567890.+-*/% ()”

设置图片和文本的位置关系:

  android:drawableBottom 在text的下方输出一个drawable,如图片。

假设指定一个颜色的话会把text的背景设为该颜色,而且同一时候和background使用时覆盖后者。

  android:drawableLeft 在text的左边输出一个drawable。如图片。

  android:drawablePadding 设置text与drawable(图片)的间隔。与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用。可设置为负数。单独使用没有效果。

android:drawableRight在text的右边输出一个drawable。

  android:drawableTop 在text的正上方输出一个drawable。



  android:editable设置是否可编辑。

  android:editorExtras设置文本的额外的输入数据。

  android:ellipsize 设置当文字过长时,该控件该怎样显示。有例如以下值设置:”start”—?省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间; ”marquee” ——以跑马灯的方式显示(动画横向移动)

  android:freezesText 设置保存文本的内容以及光标的位置。

  android:gravity 设置文本位置,是指控件中文本的位置,区分layout_gravity属性,如设置成“center”,文本将居中显示。

  android:hintText 为空时显示的文字提示信息。可通过textColorHint设置提示信息的颜色。此属性在EditView中使用。可是这里也能够用。

  android:imeOptions  附加功能,设置右下角IME动作与编辑框相关的动作。如actionDone右下角将显示一个“完毕”,而不设置默认是一个回车符号。这个在EditView中再具体说明,此处无用。

  android:imeActionId 设置IME动作ID。

  android:imeActionLabel 设置IME动作标签。

  android:includeFontPadding 设置文本是否包括顶部和底部额外空白,默觉得true。

  android:inputMethod 为文本指定输入法。须要全然限定名(完整的包名)。比如:com.google.android.inputmethod.pinyin,可是这里报错找不到。

  android:inputType 设置文本的类型,用于帮助输入法显示合适的键盘类型。

在EditView中再具体说明。这里无效果。

  android:linksClickable 设置链接是否点击连接,即使设置了autoLink。

  android:marqueeRepeatLimit 在ellipsize指定marquee的情况下。设置反复滚动的次数,当设置为marquee_forever时表示无限次。

  android:ems 设置TextView的宽度为N个字符的宽度。这里測试为一个汉字字符宽度

  android:maxEms 设置TextView的宽度为最长为N个字符的宽度。与ems同一时候使用时覆盖ems选项。

  android:minEms 设置TextView的宽度为最短为N个字符的宽度。与ems同一时候使用时覆盖ems选项。

  android:maxLength 限制显示的文本长度。超出部分不显示。

  android:lines 设置文本的行数,设置两行就显示两行,即使第二行没有数据。

  android:maxLines 设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自己主动换行,超出行数将不显示。

  android:minLines 设置文本的最小行数,与lines类似。

  android:lineSpacingExtra 设置行间距。

  android:lineSpacingMultiplier 设置行间距的倍数。如”1.2”

  android:numeric 假设被设置,该TextView有一个数字输入法。此处无用,设置后唯一效果是TextView有点击效果,此属性在EdtiView将具体说明。

  android:password 以小点”.”显示文本

  android:phoneNumber 设置为电话号码的输入方式。

  android:privateImeOptions 设置输入法选项。此处无用,在EditText将进一步讨论。

  android:scrollHorizontally 设置文本超出TextView的宽度的情况下,是否出现横拉条。

  android:selectAllOnFocus 假设文本是可选择的,让他获取焦点而不是将光标移动为文本的開始位置或者末尾位置。TextView中设置后无效果。

设置文本阴影:

  android:shadowColor 指定文本阴影的颜色。须要与shadowRadius一起使用。

android:shadowDx 设置阴影横向坐标開始位置。

  android:shadowDy 设置阴影纵向坐标開始位置。

  android:shadowRadius 设置阴影的半径。设置为0.1就变成字体的颜色了。一般设置为3.0的效果比較好。

  android:singleLine 设置单行显示。

假设和layout_width一起使用,当文本不能所有显示时,后面用“…”来表示。如android:text="test_ singleLine "

       android:singleLine="true" android:layout_width="20dp"将仅仅显示“t…”。假设不设置singleLine或者设置为false,文本将自己主动换行

  android:text设置显示文本.

  android:textAppearance设置文字外观。

如“?android:attr/textAppearanceLargeInverse”这里引用的是系统自带的一个外观,?表示系统是否有这样的外观,否则使用默认的 外观。可设置的值例如以下:

textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmal l/textAppearanceSmallInverse

  android:textColor 设置文本颜色

  android:textColorHighlight 被选中文字的底色,默觉得蓝色

  android:textColorHint 设置提示信息文字的颜色,默觉得灰色。

与hint一起使用。

  android:textColorLink 文字链接的颜色.

  android:textScaleX 设置文字之间间隔。默觉得1.0f。

  android:textSize 设置文字大小,推荐度量单位”sp”,如”15sp”

  android:textStyle设 置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 能够设置一个或多个。用“|”隔开

  android:typeface 设置文本字体。必须是下面常量值之中的一个:normal 0, sans 1, serif 2, monospace(等宽字体) 3]

  android:height 设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)

  android:maxHeight 设置文本区域的最大高度

  android:minHeight 设置文本区域的最小高度

  android:width 设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)。与layout_width的差别看这里http://blog.csdn.net/tuke_tuke/article/details/50464882 

  android:maxWidth 设置文本区域的最大宽度

  android:minWidth 设置文本区域的最小宽度

在设置TexView属性时。能够使用Graphical Layout图形布局的右边能够看到当前android版本号API下的全部属性。如图

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

在右边的属性栏中还有该组件的父组件的属性列表,设置方便。

样例:不同颜色字体带链接的TexView

Main_Activity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<!-- 文本框结尾处和文本前处绘制图片 -->
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawableEnd="@drawable/ic_launcher"
android:drawableLeft="@drawable/ic_launcher"
android:text="我爱我的祖国"
android:textSize="20dp" />
<!-- 设置中间省略,全部字母大写 -->
<TextView
android:id="@+id/textView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="我爱Contry我爱contry是吗是啊啊我爱Contry我爱contry是吗是啊啊"
android:ellipsize="middle"
android:textAllCaps="true"
android:singleLine="true"
/>
<!-- 对电话,邮件添加链接 -->
<TextView
android:id="@+id/textView3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="邮件是tuketuke@163.com,电话是15927007602"
android:autoLink="email|phone"
/>
<!-- 设置设置文字的大小颜色,阴影 -->
<TextView
android:id="@+id/textView4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="測试文字大小颜色阴影"
android:textColor="#00f"
android:textSize="18dp"
android:shadowColor="#00f"
android:shadowDx="10.0"
android:shadowDy="3.0"
android:shadowRadius="3.0"
/>
<!-- 測试密码框-->
<TextView
android:id="@+id/textView5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="邮件是tuketuke@163.com,电话是02725614445"
android:password="true"
/>
<!-- 測试可勾选textview -->
<CheckedTextView
android:id="@+id/textView6"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:checkMark="@drawable/ok"
android:text="可勾选文本" /> </LinearLayout>

例:圆角边框。渐变背景的TextView

xml文件是:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<!-- 使用xml定义drawable对象作为背景 -->
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_border"
android:text="带边框的文本"
android:textSize="20dp" /> <TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_border2"
android:text="圆角边框,渐变背景的文本"
android:textSize="20dp" /> </LinearLayout>

默认情况下TexView是不带边框的,假设想为TextView加边框,能够设置一个背景drawable对象,使用xml定义Drawable对象

在res/drawable目录中能够有直接的drawable资源对象,如.jpg,.png等图片资源。也有使用xml定义的drawable对象,xml 定义的drawable对象有五种:StateListDrawable(selector根元素),LayerDrawable(layer-list根元素)。ShapeDrwable(shape根元素),AnimationDrawable(set根元素)。xxx。具体的介绍以后会写文章的

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

这里的是shape根元素,能够定义形状背景等。大约有下边的5个元素。

bg_border.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 设置矩形的背景色 -->
<solid android:color="#0000"></solid>
<!-- 设置边框,宽度和颜色 -->
<stroke android:width="4px" android:color="#f00"></stroke>
</shape>

bg_border2.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">"
<!-- 设置矩形的4个圆角的半径 -->
<corners android:topLeftRadius="5px" android:topRightRadius="5px" android:bottomLeftRadius="5px" android:bottomRightRadius="5px"></corners>
<!-- 设置边框,宽度和颜色 -->
<stroke android:width="4px" android:color="#f0f"></stroke>
<!-- 设置渐变色。使用线性类型的渐变色,红色,绿色,蓝色 -->
<gradient android:startColor="#f00" android:centerColor="#0f0" android:endColor="#00f" android:type="linear"></gradient>"
</shape>





EditView的使用方法:

EditView的最重要的属性是inputType属性。依据不同的值。调出不同的输入键盘。

以下用样例说明,样例:用户友好的输入界面

xml

<?xml version="1.0" encoding="utf-8"?

>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1" > <TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" > <TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="username:"
android:textSize="20dp" /> <EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="请填写登录账号"
android:selectAllOnFocus="true" > </EditText>
</TableRow> <TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" > <TextView
android:id="@+id/textView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="密 码:"
android:textSize="20dp" />
<!-- android:inputType="numberPassword"表明仅仅接受数字password -->
<EditText
android:id="@+id/editText2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="numberPassword" />
</TableRow> <TableRow
android:id="@+id/tableRow3"
android:layout_width="fill_parent"
android:layout_height="wrap_content" > <TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="年 龄:"
android:textSize="20dp" />
<!-- android:inputType="number"表明是数字输入框 -->
<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number" />
</TableRow> <TableRow
android:id="@+id/tableRow4"
android:layout_width="wrap_content"
android:layout_height="wrap_content" > <TextView
android:id="@+id/textView4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="生 日:"
android:textSize="20dp" />
<!-- android:inputType="date"表明是日期输入框 -->
<EditText
android:id="@+id/editText4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="date" />
</TableRow> <TableRow
android:id="@+id/tableRow5"
android:layout_width="wrap_content"
android:layout_height="wrap_content" > <TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="电话号码:"
android:textSize="20dp" />
<!-- android:inputType="phone"表明是电话号码输入框 -->
<EditText
android:id="@+id/editText5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="phone"
android:selectAllOnFocus="true" />
</TableRow> <Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="注冊" /> </TableLayout>

事实上图形化设计的时候能够直接拖动组件就好了,android已经定制好了组件

UI组件之TextView及其子类(一)TextView和EditText的更多相关文章

  1. 第3组UI组件:AdapterView及其子类

    1 AdapterView类简介 1.1 AdapterView组件是一组重要的组件,AdapterView本身是一个抽线类,实际使用更多的都是Adapter相关子类,AdapterView具有如下特 ...

  2. 第6组UI组件:ViewAnimator及其子类

    ViewAnimator是一个基类,它继承了FrameLayout,因此它表现出FrameLayout的特征,可以将多个View组件“叠”在一起.ViewAnimator额外增加的功能正如它的名字所暗 ...

  3. Android用户界面 UI组件--TextView及其子类(一) TextView

    1.TextView android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none /web/email/phone/map/a ...

  4. UI组件之AdapterView及其子类(三)Spinner控件具体解释

    Spinner提供了从一个数据集合中高速选择一项值的办法. 默认情况下Spinner显示的是当前选择的值.点击Spinner会弹出一个包括全部可选值的dropdown菜单或者一个dialog对话框,从 ...

  5. 第五组UI组件:ProgressBar及其子类

    ProgressBar组件也是一组重要的组件,ProgressBar本身代表了进度条组件,它还派生了两个常用的组件:SeekBar和RatingBar.ProgressBar及其子类在用上十分相似,只 ...

  6. 第四组UI组件:AdapterView及子类

    AdapterView组件是一组重要的组件,AdapterView本省是一个抽象基类,它派生的子类在用法上十分相似,只是显示界面与一定的区别,因此这次针对它们的共性集中讲解,并突出介绍他们的区别. A ...

  7. UI组件之AdapterView及其子类(五)ListView组件和ListActivity

    ListView组件是一个显示组件,继承AdapterView基类,前面已经介绍了分别使用ArrayAdapter,SimpleAdapter,扩展BaseAdapter来为LisView提供列表项h ...

  8. UI组件之AdapterView及其子类(四)Gallery画廊控件使用

    听说 Gallery如今已经不使用了,API使用ViewPaper取代了,以后再学专研ViewPaper吧如今说说Gallery画廊,就是不停显示图片的意思 Gallery是用来水平滚动的显示一系列项 ...

  9. UI组件之AdapterView及其子类关系,Adapter接口及事实上现类关系

    AdapterView本身是一个抽象基类,它派生的的子类在使用方法上十分类似.AdapterView直接派生的三个子类:AbsListView.AbsSpinner,AdapterViewAnimat ...

随机推荐

  1. C# DispatcherTimer Start之后立即执行

    如果DispatherTimer 的Interval 不是在实例化时赋值,那么Start之后,Tick方法会立即执行一次. DispatcherTimer timer = new Dispatcher ...

  2. 最长公共子序列(Swift版本)

    class Mark {     var count: Int     var type: Int         init(count: Int, type: Int) {         self ...

  3. c10---多文件开发

    a.h // // lisi.h // 注意: .h是专门用来被拷贝的, 不会参与编译 #ifndef day05_lisi_h #define day05_lisi_h int sum(int v1 ...

  4. [转]Linux常用命令学习

    转自 https://www.cnblogs.com/gaojun/p/3359355.html 1.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文 ...

  5. webform 下使用autofac

    官网介绍: http://docs.autofac.org/en/latest/integration/webforms.html#quick-start HTTP 错误 500.22 - Inter ...

  6. Spring学习笔记(一) 简介

    版权声明 本文是摘自IBM上Naveen Balani的一篇文章,原文请点击此处:http://www.ibm.com/developerworks/cn/java/wa-spring1/ Sprin ...

  7. Spring《四-一》解决自动装配的问题

    自动化装配使得研发减少了响应的指配工作,但是使得响应的检查难以完成. 解决方法: simple模式: <bean autowire="autodetect" dependen ...

  8. SQL学习——基础语句(4)

    前面感觉真的好乱,想哪,写哪.这里慢慢整理…… SQL Having 语句 还是前面的那两个表: grade表: student表: 我们需要查找这里的s_id下的gradeValue的和,这就要分组 ...

  9. submile 安装,汉化,插件

    /*删除以前配置文件*/ 删除以前版本sublime后,在删除以前版本的配置信息:直接在C盘 查询里面输入 Roming  然后查找里面的 sublime 文件夹,把他给删除掉 ----------- ...

  10. Console.WriteLine 不会输出到unity控制台

    1,Console.WriteLine() 是输出到控制台程序(console application)的命令 2,Unity中控制台是一个独立的程序,要想输出到Unity控制台需要使用Debug.L ...