如何更改Exomedia的默认视频控制栏的颜色?

时间:2016-07-05 16:10:14

标签: java android colors

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:EMVideoView="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@color/MUVCastleRock">

<com.devbrackets.android.exomedia.ui.widget.EMVideoView
    android:id="@+id/video_view"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    EMVideoView:useDefaultControls="true" />

如何更改默认控件的颜色(您将看到播放按钮的位置)?我不想改变视频背后的背景,而是改变播放栏。这是因为我的背景是灰色的,因此我想更改颜色以使条形更明显。

编辑:enter image description here

1 个答案:

答案 0 :(得分:1)

@Shank建议我替换/exomedia/ui/widget/VideoControls.java中按钮的图像

虽然我没有尝试更改这些按钮的图像,但是分析这个类会导致我的回答。

此课程中有多个功能可以更改默认视频控件的设置。

您可以设置标题,说明,副标题,更改按钮图像(如Shank建议的那样),并通过更改包含视频控件(名为controlsContainer)的容器的特征来解决我的特定问题。

默认容器在retrieveViews()中由行:

初始化
controlsContainer = (ViewGroup) findViewById(R.id.exomedia_controls_interactive_container);

使用它,我只是从我的EMVideoView调用此引用并根据需要更改颜色:

emVideoView = (EMVideoView) myView.findViewById(R.id.video_view);
ViewGroup textContainer = (ViewGroup) emVideoView.findViewById(R.id.exomedia_controls_interactive_container);
textContainer.setBackgroundColor(ContextCompat.getColor(getContext(),R.color.myColor));

我发现的其他有用的方法是这样的:

emVideoView.getVideoControls().setTitle("title");
emVideoView.getVideoControls().setDescription("description");
emVideoView.getVideoControls().setSubTitle("sub");
emVideoView.getVideoControls().setPlayPauseImages(R.drawable.logo,R.mipmap.ic_launcher);