我正在为AndroidTV编写一个应用程序来观看VOD视频和直播。目前,对于播放器控制器,我正在使用PlaybackOverlayFragment和VOD视频没有问题。我在Live Stream中隐藏当前时间只是一个小问题。有没有办法隐藏TextView?我注意到将“总时间”设置为< 0 ViewHolder
中的PlaybackControlsPresenter
设置为GONE
mTotalTime
和mProgressBar
。是否有可能以简单的方式对mCurrentTime
做同样的事情?
答案 0 :(得分:2)
您可以通过其ID this.mCurrentTime = (TextView)rootView.findViewById(id.current_time);
直接访问该视图,然后将其上的可见性设置为View.INVISIBLE
。您可以在PlaybackOverlayFragment
或onCreateView()
onStart()
中执行此操作。更新leanback库时,这可能会中断,但这样可以使用最少的代码行为您提供最大的控制权。
如果你想沿着兔子洞走下去:控件行视图在PlaybackControlsRowPresenter
这里设置:mPlaybackControlsPresenter = new PlaybackControlsPresenter(R.layout.lb_playback_controls);
。
您也可以覆盖该布局文件(我认为这是leanback团队推荐的)并根据您的喜好自定义您的布局(只要ID保持不变)。或者您也可以覆盖当前时间文本视图的样式:
<style name="Widget.Leanback.PlaybackControlsTimeStyle">
<item name="android:textAlignment">viewStart</item>
<item name="android:textAppearance">@style/TextAppearance.Leanback.PlaybackControlsTime</item>
</style>
但这会影响两种时间风格(当前和总数)。
基本上,如果您想要控制库存leanback组件,您需要覆盖某些。您选择覆盖的内容取决于您需要更改的数量。