【问题标题】:Android TV PlaybackControlsRowAndroid TV PlaybackControlsRow
【发布时间】:2015-09-04 23:43:48
【问题描述】:

因此,我专门为 Android TV 界面 (lollipop leanback) 构建了一个新应用,我正在使用由框架提供的 PlaybackOverlayFragment,该框架具有 PlaybackControlsRow 和所有常用控件。

问题是,默认行为是用户必须单击“播放”按钮才能开始播放视频,而我希望它自动开始。这部分很简单,我可以让它工作,但是提供的控件上的播放/暂停图标不同步(显示何时应该暂停播放),因为该项目是在单击该控件的事件之外启动的。

关于这些框架元素的文档很少,并且检查类我找不到任何公共方法可以让我将此控件置于正确的“模式”或告诉它自己显示播放或暂停图标。

任何有这方面经验但知道如何做到这一点的人?

【问题讨论】:

    标签: android


    【解决方案1】:

    为了更改按钮的状态,即使在将您的操作添加到适配器之后,您也需要将更改通知具有您的操作的适配器。

    mPlayPauseAction.nextIndex(); // next index, if it was pause, it'll be play
    notifyChanged(mPlayPauseAction);
    
    // where notifyChanged(Action action) is:
    private void notifyChanged(Action action) {
        ArrayObjectAdapter adapter = mPrimaryActionsAdapter; // reference to your adapter
        if (adapter.indexOf(action) >= 0) {
            adapter.notifyArrayItemRangeChanged(adapter.indexOf(action), 1);
            return;
        }
    }
    

    【讨论】:

      【解决方案2】:

      嗯,我部分回答了我自己的问题。

      如果我在创建 PlaybackControlsRow 之前知道我想将其设置为暂停状态(实际上是播放状态但显示暂停按钮),那么如果我在将 PlayPauseAction 添加到控件行之前调用 setIndex(PlaypauseAction.PAUSE)然后就可以了。

      添加后我似乎无法自己修改它,但这可能是我做错的其他事情。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-07-26
        • 2019-04-06
        • 2017-06-04
        • 1970-01-01
        • 2021-06-10
        • 2015-06-25
        • 2020-11-30
        • 2015-10-01
        相关资源
        最近更新 更多