学习Android从0开始之基础篇(4)-TextView与

TextView与EditText详解

TextView  顾名思义:就是在界面上呈现文本信息,主要用于显示,没有特殊的事件响应。然而EditText与TexView非常相似,EditText就是多了一个可以让用户输入内容的编辑框功能。     大家可以把EditText看作是编辑内容的那个框,TextView是用于显示文本内容的框。  其实就是这么简单。然而EditText是TextView的子类。接下来就是TextView和EditText的全部XML属性如下。不过在此之前,要先解释一个属性margin和padding

 

margin和padding如下图所示:

margin是子容器相距父容器边框的距离,而padding是子容器中的内容距离子容器边框的距离。那么margin_left和margin_right、padding_left和padding_right之类的属性就很好理解了。比如margin_left就是子容器距离父容器左边这一边的偏移距离,其他什么right、top、bottom都是这个意思。

1.  TextView和EditText的xml属性。

好了理解了这两个属性之后,我们来看看官网对TextView的属性介绍:  经常用的用红色显示

XML Attributes
Attribute Name(xml)Related Method(方法)Description(说明)
android:autoLinksetAutoLinkMask(int)
是否将符合指定格式的文本转化为可点击的超链接形式,比如(网址,电话等)

android:autoTextsetKeyListener(KeyListener)是否将URL、E-mail地址等链接自动转换为可单击的链接
android:breakStrategysetBreakStrategy(int)Break strategy (control over paragraph layout). 
android:bufferTypesetText(CharSequence,TextView.BufferType)Determines the minimum type that getText() will return. 
android:capitalizesetKeyListener(KeyListener)
控制是否将用户输入的文本转化为大写字母,支持一下属性值:

   none:不转换
   sentences:每个句子的首字母大写
  words:每个单词的首字母大写
  characters:每个字母都大写

android:cursorVisiblesetCursorVisible(boolean)设置该文本框的光标是否可见
android:digitssetKeyListener(KeyListener)如果设置为true,则该文本框对应一个数字输入方法,并且只接受那些合法字符
android:drawableBottomsetCompoundDrawablesWithIntrinsicBounds(int,int,int,int)在文本框底部绘制指定图像
android:drawableEndsetCompoundDrawablesRelativeWithIntrinsicBounds(int,int,int,int)在文本框的结尾处绘制指定图像
android:drawableLeftsetCompoundDrawablesWithIntrinsicBounds(int,int,int,int)在文本框的左边绘制指定的图像
android:drawablePaddingsetCompoundDrawablePadding(int)设置文本框内文本与图像之间的间距
android:drawableRightsetCompoundDrawablesWithIntrinsicBounds(int,int,int,int)在文本框的右边绘制指定的图像
android:drawableStartsetCompoundDrawablesRelativeWithIntrinsicBounds(int,int,int,int)在文本框的开始处绘制绘制指定的图像
android:drawableTintsetCompoundDrawableTintList(ColorStateList)为文本的图像指定颜色
android:drawableTintModesetCompoundDrawableTintMode(PorterDuff.Mode)混合模式用于调节文本图像的颜色,如(颜色渐变之类的)
android:drawableTopsetCompoundDrawablesWithIntrinsicBounds(int,int,int,int)在文本框的顶部绘制指定的图像
android:editable 设置文本框是否允许编辑
android:editorExtrassetInputExtras(int)参考一个包含额外的<input-extras> XML资源用给输入法,这是私人对输入方法的执行。
android:elegantTextHeightsetElegantTextHeight(boolean)优雅的文字高度,特别是对于不那么复杂的文字文字。
android:ellipsizesetEllipsize(TextUtils.TruncateAt)
设置显示文本超过了TextView的长度时如何处理文本内容,有以下属性值:
 
   none:不做任何处理
   start:在文本开始处截断,并显示省略号
   middle:在文本中间处截断,并显示省略号
   end:在文本结尾处截断,并显示省略号
   marquee:使用marquee滚动动画显示文本( 跑马灯效果 )

android:emssetEms(int)设置该组件的宽度,以em为单位
android:fontFamilysetTypeface(Typeface)设置文本框内文本的字体
android:fontFeatureSettingssetFontFeatureSettings(String)

Font feature settings.

设置文本字体特征

android:freezesTextsetFreezesText(boolean)如果设置,文本视图将包括目前的完整文本在冰冻的冰除了元数据,如当前光标位置。
android:gravitysetGravity(int)设置文本框内文本的对齐方式,一般center用的多
android:heightsetHeight(int)设置文本框的高度,以px为单位
android:hintsetHint(int)设置当文本框内的内容为空时,文本框内默认显示的提示文本
android:hyphenationFrequencysetHyphenationFrequency(int)自动断字频率。
android:imeActionIdsetImeActionLabel(CharSequence,int)当文本框指定特定的输入法时,为输入法指定额外的EditorInfo.actionId
android:imeActionLabelsetImeActionLabel(CharSequence,int)当文本框指定特定的输入法时,为输入法指定额外的EditorInfo.actionLabel值 
android:imeOptionssetImeOptions(int)当文本框指定特定的输入法时,为输入法指定额外的选项
android:includeFontPaddingsetIncludeFontPadding(boolean)设置是否为字体保留足够多的空间,默认值为  true
android:inputMethodsetKeyListener(KeyListener)为文本框指定特定的输入法,该属性值为输入法的权限定类名
android:inputTypesetRawInputType(int)设置文本字中的数据类型(比如手机号  密码之类的)
android:letterSpacingsetLetterSpacing(float)

Text letter-spacing.

文字字母间距

android:lineSpacingExtrasetLineSpacing(float,float)控制两行文本之间的额外间距,与android:lineSpacingMultiplier属性结合使用
android:lineSpacingMultipliersetLineSpacing(float,float)控制两行文本之间的额外间距,每行的高度*该属性值+android:lineSpacingExtra属性值
android:linessetLines(int)设置该文本框默认占用几行
android:linksClickablesetLinksClickable(boolean)控制该文本框的URL、E-mail等链接是否可用
android:marqueeRepeatLimitsetMarqueeRepeatLimit(int)设置marquee动画重复的次数
android:maxEmssetMaxEms(int)指定文本框的最大宽度
android:maxHeightsetMaxHeight(int)指定文本框的醉倒高度
android:maxLengthsetFilters(InputFilter)设置文本框的最大字符长度
android:maxLinessetMaxLines(int)设置文本框最多占用几行
android:maxWidthsetMaxWidth(int)设置文本框的最大宽度(以px单位)
android:minEmssetMinEms(int)设置文本框的最小宽度(以em单位)
android:minHeightsetMinHeight(int)设置文本框的最小高度(以px单位)
android:minLinessetMinLines(int)设为文本框最少占用几行
android:minWidthsetMinWidth(int)设置文本框的最大宽度(以px单位)
android:numericsetKeyListener(KeyListener)
设置该文本框关联的输入法,有以下属性值:

  integer:指定关联整数输入法
  signed:允许输入符号的数值输入法
  decimal:允许输入小数点的数值输入法

android:passwordsetTransformationMethod(TransformationMethod)设置文本框为一个密码框(以 *  代替字符)
android:phoneNumbersetKeyListener(KeyListener)设置文本框为只能接受电话号码 
android:privateImeOptions
setPrivateImeOptions(String)
 
android:scrollHorizontallysetHorizontallyScrolling(boolean) 
android:selectAllOnFocussetSelectAllOnFocus(boolean)设置文本框的内容可选择时,是否在获得焦点时整个文本的内容都被选中
android:shadowColorsetShadowLayer(float,float,float,int)设置文本框中文本的阴影颜色
android:shadowDxsetShadowLayer(float,float,float,int)设置文本框内的文本的阴影在水平方向的偏移量
android:shadowDysetShadowLayer(float,float,float,int)设置文本框内的文本的阴影在水平方向的偏移量 
android:shadowRadiussetShadowLayer(float,float,float,int)设置文本框中文本阴影的模糊程度,值越大越模糊
android:singleLinesetTransformationMethod(TransformationMethod)设置文本框中文本是否不换行,设置为true,则不换行,为单行
android:textsetText(CharSequence,TextView.BufferType)设置文本框中文本显示的内容
android:textAllCapssetAllCaps(boolean)设置是否将文本框中的文本的所有字母显示为大写字母
android:textAppearancesetTextAppearance(int)设为文本框的颜色、字体、大小等样式
android:textColorsetTextColor(int)设置文本框的文本的颜色
android:textColorHighlightsetHighlightColor(int)设置文本框中文本被选中的颜色
android:textColorHintsetHintTextColor(int)设置文本框中提示文本的颜色
android:textColorLinksetLinkTextColor(int)设置文本框中超链接的颜色
android:textIsSelectableisTextSelectable()设置文本框不能被编辑时,文本框内的文本是否可以被选中
android:textScaleXsetTextScaleX(float)设置文本框中文本在水平方向上的缩放因子
android:textSizesetTextSize(int,float)设置文本框内文本的字号大小
android:textStylesetTypeface(Typeface)设置文本框中文本的字体风格,如  粗体、斜体
android:typefacesetTypeface(Typeface)设置文本框内文本的字体风格
android:widthsetWidth(int)设置该文本框的宽度

下面是TextView 的一些效果,如下面的图:

       

       

2.EditText。的重要方法如下;

通过官网,我们可以看到,官网给出了EditText的一些方法。如下:

其中最重要的就是  getText() 这个方法。通过这个方法,可以获得EditText中的文本信息。这样就能提取信息,一般都是在登陆界面和评论的地方,通过getText()方法来获取用户输入的内容。然后,把这些内容发送到服务器,然后提交服务器成功后。然后就把最新的评论数据从网络中返回到手机上。然后手机上面呈现出最新的评论结果。好了TetxtView和Edittext的方法和xml属性就介绍完了,然后如果不记得textview和EditText的xml属性是什么属性的话就查看上面的xml属性表。

           

文章导航