如何在android中设置MediaController背景的透明度

时间:2016-07-13 19:16:39

标签: android mediacontroller

我想设置MediaController背景的透明度而不是控件。

我尝试使用mediaController.setAlpha(0.6f),但它正在对控件应用透明度,例如this

2 个答案:

答案 0 :(得分:0)

尝试使用透明颜色而不是alpha设置背景颜色。

例如,使用颜色hex#99CC00:

colors.xml

<resources>
  <color name="NoTransparent">#FF99CC00</color>
  <color name="AlmostTransparent">#4499CC00</color>
  <color name="FullTransparent">#0099CC00</color>
</resources>

然后在你的活动中:

mediaController.setBackgroundColor(getResources().getColor(R.color.AlmostTransparent));

或在您的布局文件中:

<MediaController
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/media_controller"
    android:background="@color/AlmostTransparent" />

答案 1 :(得分:0)

找到一个棘手的解决方案,对我有用。我们的想法是仅为特定的背景布局设置具有所需透明度级别的背景颜色。这不会对控件或其他MediaController视图产生影响:

videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            public void onPrepared(MediaPlayer mediaPlayer) {
                // get media controller background layout
                LinearLayout viewGroupLevel1 = (LinearLayout)  mediaController.getChildAt(0);   
                //Set your color with desired transparency here:
                viewGroupLevel1.setBackgroundColor(getResources().getColor(R.color.transparent));
            }
        });