android:图像作为SurfaceView与MediaPlayer透明的按钮

时间:2012-04-03 14:19:04

标签: android media-player transparency surfaceview

我使用ImageViewSurfaceView和控件元素覆盖布局ImageView。因此,SurfaceView用于播放MediaPlayer的媒体,然后使用ImageView MediaPlayer准备媒体作为静止图像。然后使用静止图像ImageView - setVisibility OnPrepared GONE,我们播放视频。问题在于控制ImageViews。因为它们是带有透明图形的png图像,然后覆盖在ImageView透明区域看起来不错,但随后MediaPlayer播放视频,透明的图形区域看起来非常有色,就像我们禁用此控件...

请帮助我建议如何使控件看起来覆盖ImageViewSurfaceView

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/FrameLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

<SurfaceView
    android:id="@+id/svMain"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />

<ImageView
    android:id="@+id/ivMain"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:scaleType="fitXY"
    android:src="@drawable/still_image" />

<RelativeLayout
    android:id="@+id/controls"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="bottom" >

    <ImageView
        android:id="@+id/ibtnStart"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:clickable="true"
        android:onClick="ibtnClick"
        android:src="@drawable/start_image" />

    <ImageView
        android:id="@+id/ibtnStop"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:clickable="true"
        android:onClick="ibtnClick"
        android:src="@drawable/stop_image" />

</RelativeLayout>

</merge>

2 个答案:

答案 0 :(得分:0)

我不知道这会有多大帮助,但您可以尝试使用

设置控件的背景颜色
controls.setColor(Color.argb(00, 0, 0, 0));

第一个论点表明负责transperency的alpha值。 setit为00 值范围为00-255

答案 1 :(得分:0)

您可以尝试:

ImageView logo = (ImageView) findViewById(R.id.logo);
logo.setAlpha(110);