在Android开发中有时候我们会在一个TextView中输入较长的字符串,当输入较长字符串时手机屏幕可能会无法完全显示文本的内容。例如:
<TextView        android:id="@+id/textview1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="长的TextView,长的TextView,长的TextView,长的TextView"        />
这样一个TextView的内容一行显示不全,系统默认情况下会自动换行,为了不让文本自动换行我们需要加一条属性:
 android:singleLine="true"

这样我们的文本就会只在一行中显示了,但是执行完效果后会发现不完全显示的文本会显示省略号,可以通过添加

android:ellipsize="marquee"

属性设置,此时可以解决省略号的问题,但是并不能实现跑马灯的效果,如果想要实现跑马灯的效果还需要加上两条属性

android:focusable="true"android:focusableInTouchMode="true"

这样就可以实现跑马灯效果了。但是,你以为这样就完了,错了,此时让我们把布局设置的稍微复杂一点,在文本框下再添加一个文本框同样按上边的文本框进行设置,运行后你会发现:理想很丰满,现实很骨感。 第二个文本框并不会显示跑马灯效果,很多小伙伴感到很诧异,这是为啥 呢?很简单第一个文本框设置的属性android:focusable="true"此时的焦点已经放到了第一个文本框上,返回为true,所以第二个文本框设置的焦点属性就不管用了,此时我们要想别的办法让两个文本框都能获得焦点,我告诉大家一个方法,自己重写一个TextView组件,代码如下:

public class MyTextView extends TextView {    public MyTextView(Context context) {        super(context);        // TODO Auto-generated constructor stub    }    public MyTextView(Context context, AttributeSet attrs, int defStyle) {        super(context, attrs, defStyle);        // TODO Auto-generated constructor stub    }    public MyTextView(Context context, AttributeSet attrs) {        super(context, attrs);        // TODO Auto-generated constructor stub    }    @Override    public boolean isFocused() {        // TODO Auto-generated method stub        return true;    }}

然后将TextView组件换成自己重写的MyTextView即可完美解决了。
ok 拜拜 有兴趣的小伙伴自己试试吧!

更多相关文章

  1. 为什么要学习 Markdown?究竟有什么用?
  2. Android(安卓)5.0+ 自定义普通按钮的ripple波纹效果
  3. Android(安卓)仿2016版京东筛选
  4. Android(安卓)Facebook-Rebound弹性动画
  5. android入门-----dhcp服务(上)
  6. android 4.4 电池电量管理底层分析(C\C++层)
  7. Android学习笔记---自定义View#01
  8. Android(安卓)自定义属性研究
  9. Android(安卓)动画分析之翻转效果

随机推荐

  1. 由Eclipse导入Android Studio的.9图片报
  2. Android:SlidingDrawer
  3. Android 性能调优
  4. android 远程接口
  5. Android——你可能不知道的Debug细节
  6. Android(安卓)View相关-View的常用方法及
  7. android 陀螺仪简单使用,判读手机是否静止
  8. GDB在线调试Android Framework Native C/
  9. Android自动化测试初探
  10. Android ImageView的scaleType属性与adju