例如,"encyclopedia"显示, 只是举例,以实际显示为准:)


android:ellipsize=”start”—–省略号显示在开头 "...pedia"
android:ellipsize=”end”——省略号显示在结尾 "encyc..."
android:ellipsize=”middle”—-省略号显示在中间 "en...dia"
android:ellipsize=”marquee”–以横向滚动方式显示(需获得当前焦点时)

对于使用marquee即滚动显示方式的,需要当前textview获得焦点才会滚动。所以有时可能因为实际需要,textview未获得焦点或者需要多个textview都同时滚动显示时,可以采用以下办法:

因为判断textview是否处于focused状态是通过它本身isFocused()方法,这样只要此方法返回为true时,即认为处于focused的状态,就可以滚动啦。

所以可以通过继承TextView类,并overrideisFocused()方法来控制是否滚动咯。

另外如果是组合View,外层layout需要加入以下属性来保证focus状态的传递:addStatesFromChildren="true"

定义走马灯(Marquee),主要在Project/res/layout/main.xml即可

<TextView
android:layout_width="40px"
android:layout_height="wrap_content"
android:text="Test marquee for TextView"
android:layout_gravity="center"
android:ellipsize="marquee"
android:singleLine="true"
android:focusable="true"
android:marqueeRepeatLimit="marquee_forever"
android:focusableInTouchMode="true"
android:scrollHorizontally="true"
/>


关键点:
(1)layout_width设定的长度要比text其实的长度短才行,即layout_width显示不全text才会有走马灯效果
(2)ellipsize 即申明使用走马灯marquee
(3)singleLine表示单行显示
(4)marqueeRepeatLimit表示走马灯显示的次数:marquee_forever-无限制不间断显示

android:focusable="true"//让TextView获得焦点
android:focusableInTouchMode="true" //针对触摸屏获得当前焦点

事实上这两句代码我也了解不是特别多,在网上查了下这两个属性,目前理解为:

android:focusable="true"相当于当前Activity打开的时候,让当前控件TextView获得焦点,才可以实现滚动功能

android:focusableInTouchMode="true"和上述属性应该是类似的,但限制应该是指的触摸屏上的意思

若要让TextView里的文本滚动,必须满足以下几个因素:

1,TextView里文本宽度超过TextView的宽度
2,android:ellipsize="marquee"
3,只有在TextView获取到焦点时,才会滚动.所以加上android:focusableInTouchMode="true" android:focusable="true"
最容易忽略的是第三条.

更多相关文章

  1. View类的XML属性、相关方法及说明
  2. android:configChanges属性
  3. ImageView的scaletype属性
  4. android:configChanges属性总结
  5. 后台动态添加布局文件、控件与动态设置属性
  6. Android开发之GridView属性介绍
  7. imageView 的 android:maxHeight,maxWidth属性

随机推荐

  1. android默认允许usb调试和usb权限
  2. TextView 属性
  3. Android View 相关源码分析之四 LinearLa
  4. android studio适配器Adapter
  5. 最简单的BufferQueue测试程序(一)
  6. 20155323 第四次实验 Android程序设计实
  7. Android Accounts Api使用指南
  8. Android(安卓)注解的方式绑定UI ID
  9. 还在为android图标适配烦恼?字体图标你值
  10. Android 上传图片到后台的一直方式Base64