TextView中可以设置一个ellipsize属性,作用是当文字长度超过textview宽度时的显示方式:

例如,"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类,并override isFocused()方法来控制是否滚动咯。

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

更多相关文章

  1. Android 响应System UI状态,焦点改变,手势处理
  2. Android中循环的几种方式
  3. 监听android电话呼叫状态
  4. android手机两种方式获取IP地址
  5. Android获取通话状态
  6. [Android Pro] 创建快捷方式,删除快捷方式,查询是否存在快捷方式
  7. Android USB状态监控(解决scheme="file")
  8. Android 以webview的方式集成Dcloud h5+SDK

随机推荐

  1. 介绍两个Android开源项目:Android显示GIF
  2. android 动画分类
  3. Android子线程其实也可以刷新UI。。。。
  4. android之横向滚动图
  5. Android(安卓)PackageInstaller:安装应用
  6. 使用android中的aapt查看安卓apk包信息
  7. android UI事件
  8. 在Android(安卓)Sudio中使用Uiautomator
  9. 源码编译Android(安卓)4.1.2的Camera应用
  10. Android的用户界面