要解决“Android 11:DecoratedMediaCustomViewStyle忽略了setCustomContentView”问题,需要对自定义视图样式进行调整。下面是一个可能的解决方案:
res/values/styles.xml
文件中创建一个自定义的样式,继承自 Widget.MediaController
,并添加 decoratedMediaCustomViewStyle
属性:
res/values/themes.xml
文件中,将应用的主题中的 mediaControllerStyle
属性设置为自定义的样式:
setCustomContentView
方法来设置自定义的内容视图。确保在调用 setCustomContentView
之前,先调用 setViewVisibility
方法设置视图的可见性:MediaController mediaController = new MediaController(context);
mediaController.setAnchorView(anchorView);
mediaController.setMediaPlayer(mediaPlayer);
View customContentView = LayoutInflater.from(context).inflate(R.layout.custom_media_controller, null);
mediaController.setCustomContentView(customContentView);
mediaController.setPrevNextListeners(onPrevListener, onNextListener);
mediaController.show();
通过以上步骤,你可以解决“Android 11:DecoratedMediaCustomViewStyle忽略了setCustomContentView”问题,并在自定义的媒体控制器中使用 setCustomContentView
方法。请注意,你需要将 @style/AppMediaControllerStyle
替换为你在步骤1中定义的样式名称,并将 R.layout.custom_media_controller
替换为你自己的自定义视图布局。