倾斜设置控制器可见性

问题描述

我知道我可以使用hideControlsOverlay(true);隐藏控制器和下面的行,但是当dpad输入时,它将再次显示。我想以编程方式更改其可见性,或者在按dpad时不显示。我正在使用VideoSupportFragment

controller

解决方法

扩展 VideoPlayerGlue 并覆盖 onCreatePrimaryActions() 和 onCreateSecondaryActions(),不要为这些方法调用 super。不为这些方法调用 super 不会添加任何主要和次要操作按钮。

public class MySupportFragment extends PlaybackSupportFragment {
  CustomPlaybackControlGlue myGlue = new CustomPlaybackControlGlue(requireActivity(),mPlayerAdapter,mPlaylistActionListener);
  ...
  myGlue.setHost(new PlaybackSupportFragmentGlueHost(this));
  ...
}

public class CustomPlaybackControlGlue extends VideoPlayerGlue {
    public CustomPlaybackControlGlue(Context context,LeanbackPlayerAdapter playerAdapter,OnActionClickedListener actionListener) {
        super(context,playerAdapter,actionListener);
    }
    @Override
    protected void onCreatePrimaryActions(ArrayObjectAdapter adapter) {
        //Do not add any secondary actions to the adapter
    }
    @Override
    protected void onCreateSecondaryActions(ArrayObjectAdapter adapter) {
        //No need to add any other actions here. The Play/Pause action is enough.
    }
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...