Android(安卓)ApiDemos示例解析(93):Text->LogTextBox
Android中TextView用于显示文字串并可以设置成“可编辑”。事实上TextView 是个功能完全的编辑框,但缺省设置成只读(相当于Windows中的label) ,它的子类EditText 打开了编辑功能允许用户编辑文本。
本例从TextView 派生类一个子类 LogTextBox ,其功能可以用于显示应用日志,提供了垂直滚动条(TextView缺省不带滚动条也不响应用户按键)。
它重载了几个方法,可以试着将这些方法注释掉,看看TextView的缺省行为。
@Overrideprotected MovementMethod getDefaultMovementMethod() { return ScrollingMovementMethod.getInstance();} @Overridepublic Editable getText() { return (Editable) super.getText();} @Overridepublic void setText(CharSequence text, BufferType type) { super.setText(text, BufferType.EDITABLE);}
其中setText 将该文本框编辑功能打开,允许使用输入框。
LogTextBox_第1张图片" src="https://img.it610.com/image/info5/9abbb3c709a745e4b02f610a2b351110.jpg" width="331" height="493" style="border:1px solid black;">使用滚动条,可以在Layout中设置android:scrollbars的类型,本例使用垂直滚动条。
<com.example.android.apis.text.LogTextBox
android:id=”@+id/text”
android:background=”@drawable/box”
android:layout_width=”match_parent”
android:layout_height=”0dip”
android:layout_weight=”1″
android:scrollbars=”vertical“/>
TextView缺省情况是不响应用户操作的,因此如果TextView能够使用滚动条,需要通知TextView使用滚动条的方式来响应用户操作,这就是getDefaultMovementMethod的目的
LogTextBox_第2张图片" src="https://img.it610.com/image/info5/1d209087a8564a4c9d55bbb2f1ba1ad4.jpg" width="333" height="493" style="border:1px solid black;">
TextView的子类很多,包括各种按钮如Button,RadioButton等,编辑框EditText 等。TextView提供的功能非常强大,具体可以参见Android TextView文档。
更多相关文章
- android 动画分析
- Android控件的继承关系图
- TextView和EditText中添加图片(ImageSpan)
- Android例listview中android:descendantFocusability用法简析
- Android原理揭秘系列之View、ViewGroup
- Android(安卓)设计模式第三篇:模板方法模式
- Android(java)学习笔记95:Android原理揭秘系列之View、ViewGroup
- Android仿微信图片编辑处理:文字,马赛克,裁剪,涂鸦,旋转图片等
- Android(安卓)TextWatcher监控EditText中的输入内容并限制其输入