Android TV textView自定义scrollbar

1.需求:当text显示不全时显示scrollbar,并且在不同的focus状态scrollbar的颜色不同,先看下面的两张图片。

2.问题分解

  • 如何显示scrollbar,并且显示不全要一直显示,而不是focus时显示
  • 如何自定义scrollbar
  • 每次进入该view保证scrollbar在顶部

3.问题解决

问题一:显示scrollbar
设置三个属性:
android:scrollbars="vertical" 表示垂直显示
android:scrollbarStyle="outsideInset" 显示在字符外面,默认的话,会出现压边的情况
android:fadeScrollbars="false" 一直显示

<TextView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:fadeScrollbars="false"
     android:scrollbarStyle="outsideInset"
     android:scrollbars="vertical"/>

问题二:如何自定义scrollbar
使用android:scrollbarThumbVertical="@drawable/text_scroll_bar"
这个属性是自定义的scrollbar,并且在drawable时写入selector来控制显示

问题三:每次进入该view保证scrollbar在顶部
这个也比较简单,因为是复用的item,每次进入可能沿用上次scrollbar的状态,这里设置为每次进入滑动到头部即可。如下所示:

mProgramDetail.scrollTo(0, 0);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容