网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月18日漏签0天
aide吧 关注:33,026贴子:272,863
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 12回复贴,共1页
<<返回aide吧
>0< 加载中...

闲的蛋疼发个TextView控件的使用

  • 取消只看楼主
  • 收藏

  • 回复
  • 傻子的_love
  • 武林盟主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
手机嗝屁了,用电脑发。
慢慢码字和截图,顺便学习自己没有使用过的方法,和即时试验,应该会很慢,欢迎补充和修正。(此帖可能随时太监)


  • 傻子的_love
  • 武林盟主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
首先是原文简介,直接上图

第一句大致意思是TextView不能直接修改文本(使用程序过程,除了代码更改),要更改使用子类EditText。
第二句是setTextIsSelectable(boolean);方法,设置为true时长按能够自由复制上面的文本

此方法需要API 11或以上
XML attributes先不管


2026-02-18 02:16:08
广告
不感兴趣
开通SVIP免广告
  • 傻子的_love
  • 武林盟主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
然后是继承关系

它的亲爸是View,爷爷是Object,然后亲儿子有6个,后代有8个。
亲儿子Button,CheckedTextView,Chronometer,DigitalClock,EditText,TextClock
后代 AutoCompleteTextView,CheckBox,CompoundButton,ExtractEditText, MultiAutoCompleteTextView,RadioButton,Switch,ToggleButton
以上估计都不会讲_(:з」∠)_


  • 傻子的_love
  • 武林盟主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
嵌套类

这些先放着吧_(:з」∠)_(我会告诉你我没用过吗)


  • 傻子的_love
  • 武林盟主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好的我决定不用图片了


  • 傻子的_love
  • 武林盟主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
用字发了,图片上传后质量感动天地
咳咳,构造函数
TextView(Context context)
TextView(Context context, AttributeSet attrs)
TextView(Context context, AttributeSet attrs, int defStyle)
API 21之后增加了一个
TextView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)


  • 傻子的_love
  • 武林盟主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我们还是先来点实例吧,AIDE有点不方便,所以用Eclipse,实例都是纯java
首先创建一个测试的应用,过程就不发了,
然后在主Activity(一般是MainActivity.java文件)里声明一个私有的TextView控件,变量名为mTextView,再到onCreate方法创建一个TextView分配给mTextView

然后设置Activity的setContentView(View);方法,setContentView(mTextView),点击运行之后程序里什么也没有_(:з」∠)_

所以设置TextView的setText(CharSequence)方法内容为Hello TextView,再次运行就会出现Hello TextView,


  • 傻子的_love
  • 武林盟主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
先说说setText方法
setText(CharSequence text)
我一般直接设置字符_(:з」∠)_像上面写的"Hello TextView"一样
setText(CharSequence text, TextView.BufferType type)
第二个参数TextView.BufferType type,一般应该不会用到,原句Sets the text that this TextView is to display (see setText(CharSequence)) and also sets whether it is stored in a styleable/spannable buffer and whether it is editable.
setText(int resid)
一般调用values里的strings.xml的值如setText(R.string.app_name)设置内容为应用程序名称
setText(char[] text, int start, int len)
将char数组内容设置到文本,演示一下,第一个参数设置为获取TextView内容后转为char数组,第二个参数设置为6,最小设置为0,最大为char数组总长度
错误使用:
TextView.setText(“Java”.toCharArray(), -1, 4)
正确使用:
TextView.setText(“Java”.toCharArray(), 0, 4)
第三个参数设置为内容的长度减去6,最小设置为第二个参数,最大设置为char的长度,
错误使用:
截取 ava
TextView.setText(“Java”.toCharArray(), 1, 4)
正确使用:
截取 ava
TextView.setText(“Java”.toCharArray(), 1, 3)
or 截取 av( )
TextView.setText(“Java”.toCharArray(), 1, 2)
,第二个和第三个参数相当于剪切,开始剪切的位置和以开始剪切的位置为起点到结束剪切位置的长度
总长度使用 xx.length()获取,以下截取TextView之前设置的内容Hello TextView中的TextView,看不懂mTextView.getText().toString()的将这句看成"Hello TextView",而toCharArray()则是将String转换为char数组的即可。
然后运行

然后在上面这些方法中的CharSequencec参数能使用R.string.xx代替


2026-02-18 02:10:08
广告
不感兴趣
开通SVIP免广告
  • 傻子的_love
  • 武林盟主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
getText方法
返回一个CharSequence类型的文本,内容为你使用setText设置的内容,如果没有使用setText方法,那就啥也没有。


  • 傻子的_love
  • 武林盟主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
啊,忘了说添加下划线_(:з」∠)_

顺便说一下也可以使用Paint来更改字体的样式_(:з」∠)_,Paint类百度吧
getPaint().set(自定义后的paint)
如果你的软件最小API被要求到17或以上(android:minSdkVersion="17")
可以使用setLayerPaint(自定义后的paint) 方法,当然也可以使用 getPaint().set(自定义后的paint) 方法。
getPaint().set(Paint)或setLayerPaint(Paint) 推荐设置到其它参数之前_(:з」∠)_


  • 傻子的_love
  • 武林盟主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

setEllipsize(TruncateAt where)
使用此方法需要设置 setSingleLine(true) 方法,才能起到效果

效果有四个
TruncateAt.START
TruncateAt.MIDDLE
TruncateAt.MARQUEE
TruncateAt.END
试试跑马灯 TruncateAt.MARQUEE



代码

顺便,append方法是在原内容末尾加上文字


  • 傻子的_love
  • 武林盟主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
然后是一些七零八碎的方法,还有忘了说的方法,以下都不会太详细
setCursorVisible(boolean)
设置光标显示,EditView用到,TextView设置然并卵

在xml中使用 android:cursorVisible 设置
在Java中使用 isCursorVisible() 判断当前是否显示光标
------------------
setInputExtras(int)
设置额外的输入数据

在xml(非布局)中使用<input-extras>
在xml中使用 android:editorExtras 设置
出现错误会报出两个异常,其中一个
XmlPullParserException
Xml解析异常
IOException
IO流异常
------------------
setEms(int)
设置固定宽度?

Ems是个啥_(:з」∠)_
在xml中使用 android:ems
使用 setMaxEms(int) 设置最大Ems
使用 getMaxEms(int) 获取最大Ems
使用 setMinEms(int) 设置最小Ems
使用 getMinEms(int) 获取最小Ems
------------------
setFreezesText(boolean)
保存内容与光标位置( EditText用的?),默认false

在xml中使用 android:freezesText 设置

在Java中使用 getFreezesText 获取
------------------
setGravity(int)
设置文字对齐方式

在xml使用 android:gravity 设置
常量在Gravity类中
------------------
setHeight(int) and setWidth(int)
分别设置高和宽,单位为像数


在xml使用 android:height and androd:width 设置

在Java中使用
setMaxHeight and setMaxWidth 设置最大高度和宽度
getMaxHeight and getMaxWidth 获取最大宽度和高度
以上单位都为像数
------------------
setImeActionLabel(CharSequence,int)
设置输入法右下角的东西,EditText的时候用到(输入法软键盘)

第一个参数设置标签,第二个参数设置 为EditorInfo.IME_ACTION_GO的时候,输入法的右下角的键入会变成GO的字样。
在xml使用 android:imeActionLabel 设置第一个参数
使用 android:imeActionId 设置第二个参数(不是直接EditorInfo.IME_ACTION_GO)
在Java中使用 getImeActionLabel and getImeActionId 获取标签和设置的action id
------------------
setImeOptions(int)
与上面第二个参数一样

在xml中使用 android:imeOptions 设置

在java中使用 getimeOption 获取
(哈哈,好不详细)


  • 傻子的_love
  • 武林盟主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
setIncludeFontPadding(boolean)
默认为true,默认中TextView经常自动换行,但是换行会有空白留下来,设置此项为false后将不会出现这种情况

在xml使用 android:includeFontPadding 设置

在Java中使用 getIncludeFontPadding 获取当前属性状态
------------------
setInputType(int)
setRawInputType(int)
设置软键盘类型,第一个设置键盘的类型,第二个单独设置数字类型(好像是_(:з」∠)_,并不知道)


在xml中使用 andrid:inputType 设置
在java中使用 getInputType 获取
------------------
setLineSpacing(float,float)
设置第一行和第二行(比如)的间隔和倍数

在xml使用
android:lineSpacingExtra 设置第一个参数
android:lineSpacingMultiplier 设置第二个参数
需要带上单位如1.5sp
------------------
啊啊啊啊啊啊啊啊啊啊啊啊啊啊


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 12回复贴,共1页
<<返回aide吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示