【问题标题】:Hide current time using PlaybackOverlayFragment使用 PlaybackOverlayFragment 隐藏当前时间
【发布时间】:2017-01-21 05:50:40
【问题描述】:

我正在为 AndroidTV 编写一个应用程序来观看 VOD 视频和直播。目前,对于播放器控制器,我正在使用 PlaybackOverlayFragment 并且对于 VOD 视频没有问题。我只是在直播期间隐藏当前时间有点问题。有没有办法隐藏TextView?我注意到将“总时间”设置为 PlaybackControlsPresenter 中的ViewHolder 设置为GONE mTotalTimemProgressBar。是否可以通过简单的方式对mCurrentTime 做同样的事情?

【问题讨论】:

    标签: android android-layout android-tv


    【解决方案1】:

    您可以通过其 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 组件,您需要重写一些东西。您选择覆盖的内容取决于您需要更改多少。

    【讨论】:

    • 感谢 Kyle 的建议,但我正在尝试遵循您的第一个解决方案,但 TextView current_timeonCreateView()onStart() 中均为空。到目前为止,我发现的最佳解决方案是在 onRowChanged(PlaybackControlsRow row) 回调中获取视图,但它会产生不合适的行为。播放器一开始,current_time 就会出现一秒钟并变得不可见。我应该在控制器出现之前将current_time 状态设置为INVISIBLE。你有什么建议吗?
    • 你想隐藏current_timetotal_time吗?或者你只是想隐藏current_time
    • 是的,我应该隐藏两者。隐藏total_time 很简单,因为如果值current_time 是不够的。根据您的建议,我还可以隐藏current_time,但在调用onRowChanged() 时它会出现一段时间并消失。我现在的问题是:是否可以在媒体控制器出现之前隐藏current_time
    • 好的,这让事情变得更容易。您可以通过覆盖 PlaybackControlsTime 样式的文本颜色来实现您想要的。您可以通过在名为 lb_playback_controls_time_text_colorcolors.xml 文件中添加新颜色来实现此目的。然后将此颜色设置为@android:color/transparent。在onRowChanged() 中,您可以将mCurrentTime 设置为电视,然后您可以从那里将颜色切换为白色或透明。
    • 感谢您的帮助,我终于解决了这个问题!我将颜色设置为@android:color/transparent,并将onRowChanged() 上的颜色设置为Leanback 使用的原始颜色。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    相关资源
    最近更新 更多