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文档。

更多相关文章

  1. android 动画分析
  2. Android控件的继承关系图
  3. TextView和EditText中添加图片(ImageSpan)
  4. Android例listview中android:descendantFocusability用法简析
  5. Android原理揭秘系列之View、ViewGroup
  6. Android(安卓)设计模式第三篇:模板方法模式
  7. Android(java)学习笔记95:Android原理揭秘系列之View、ViewGroup
  8. Android仿微信图片编辑处理:文字,马赛克,裁剪,涂鸦,旋转图片等
  9. Android(安卓)TextWatcher监控EditText中的输入内容并限制其输入

随机推荐

  1. Android(安卓)Studio创建文件,自动生成类
  2. Binary XML file : Error inflating clas
  3. android binder相关
  4. 如何设置android HttpPost 连接服务器超
  5. NDK 编译可执行程序
  6. 使用bugly做应用升级时android 7.0上遇到
  7. appium主线分析
  8. android studio 报错Failed to save sett
  9. cocos2dx生成android时出错解决方法
  10. Eclipse3.7中搭建Android开发环境