自定义控件编写流程
创建一个默认就能获取焦点的TextView
1.创建一个类继承至TextView,FocusTextView
2.重写其构造方法

     //使用在通过java代码创建控件
public FocusTextView(Context context) {
super(context);
} //由系统调用(带属性+上下文环境构造方法)
public FocusTextView(Context context, AttributeSet attrs) {
super(context, attrs);
} //由系统调用(带属性+上下文环境构造方法+布局文件中定义样式文件构造方法)
public FocusTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}

3.将原有TextView上的isFocus方法默认修改为,能够获取焦点

     //重写获取焦点的方法,由系统调用,调用的时候默认就能获取焦点
@Override
public boolean isFocused() {
return true;
}

4.使用过程
获取当前类的全路径名称,作为xml中的标签存在,其余属性的使用方式和TextView一致

public class FocusTextView extends TextView {
//使用在通过java代码创建控件
public FocusTextView(Context context) {
super(context);
} //由系统调用(带属性+上下文环境构造方法)
public FocusTextView(Context context, AttributeSet attrs) {
super(context, attrs);
} //由系统调用(带属性+上下文环境构造方法+布局文件中定义样式文件构造方法)
public FocusTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
} //重写获取焦点的方法,由系统调用,调用的时候默认就能获取焦点
@Override
public boolean isFocused() {
return true;
}
}
<!-- android:ellipsize="end"添加省略点的所在位置 -->
<!-- 想让文字出现跑马灯效果,必须让其获取焦点 -->
<!-- android:marqueeRepeatLimit="marquee_forever"一直滚动属性 -->
<!-- 自定义控件达到滚动效果(其实就是重新原有的TextView,让其一直能够获取焦点即可) -->
<!--
<TextView
android:text="秋天秋天悄悄过去,留下小秘密,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊"
android:textColor="#000"
android:singleLine="true"
android:padding="5dp"
android:ellipsize="marquee"
android:focusable="true"
android:marqueeRepeatLimit="marquee_forever"
android:focusableInTouchMode="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
--> <com.itheima.mobilesafe74.view.FocusTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:padding="5dp"
android:singleLine="true"
android:text="秋天秋天悄悄过去,留下小秘密,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊"
android:textColor="#000" >
</com.itheima.mobilesafe74.view.FocusTextView>

最新文章

  1. python网络编程学习笔记(三):socket网络服务器(转载)
  2. 转:大神提出来的java服务器方面面试问题(当作自己的学习目标平时得多注意)
  3. HBASE学习笔记-初步印象
  4. 一次Oracle 11g+FluentNHibernate AutoMapping组合尝试
  5. p:commandButton vs h:commandButton
  6. 2013eoe移动开发者大会圆满落幕
  7. G面经prepare: set difference
  8. CentOS7 安装MongoDB 3.0服务
  9. As.net WebAPI CORS, 开启跨源访问,解决错误No &#39;Access-Control-Allow-Origin&#39; header is present on the requested resource
  10. 距离矢量路由协议举例——RIP
  11. global中拦截404错误的实现方法
  12. 兼容ie6及以上和firefox等标准浏览器的表格行滑过时背景色切换的效果
  13. C语言之最大公约数与最小公倍数
  14. 剑指offer 第十二天
  15. 用python一起来看流星雨
  16. 更换JDK版本时的问题:Error: could not open `C:\Java\jre7\lib\amd64\jvm.cfg&#39;
  17. html (第四本书第八章参考)
  18. OC Block(代码块)
  19. jzoj5894
  20. Spring Boot应用连接数据库MySQL、及一个简单的demo

热门文章

  1. mha的搭建步骤(一主一从架构)
  2. [BIM]STEP标准和EXPRESS语言
  3. DNA Sorting 分类: POJ 2015-06-23 20:24 9人阅读 评论(0) 收藏
  4. jquery闭包的使用
  5. Unity脚本在层级面板中的执行顺序测试2
  6. pip命令使用国内pypi镜像源加速在线安装
  7. SQL 中ROLLUP 用法
  8. 在repeater增加自增长的序号
  9. 公共控件Listview
  10. MUI 个推