问题描述
我知道我可以使用hideControlsOverlay(true);
隐藏控制器和下面的行,但是当dpad输入时,它将再次显示。我想以编程方式更改其可见性,或者在按dpad时不显示。我正在使用VideoSupportFragment
解决方法
扩展 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.
}
}