VideoView上的TextView透明度

时间:2013-02-02 12:46:22

标签: textview transparency android-videoview alpha

我正在编写一个在Android 4.0.3上运行的应用程序,它通过HDMI输出视频用于显示。

我在VideoView上有一个有色透明的TextView,但是由于一系列看似无关的变化,我已经打破了它,无法让它再次运行。

我使用的是SetBackgroundColor,即

myTextView.setBackgroundColor( Color.argb ( 128, 128, 0, 0 ) );

症状是TextView显示纯色背景色(RGB 128,0,0)并且没有透明度。如果我将alpha设置为0,则背景变得完全透明,但我仍然可以在TextView内部文本轮廓上看出VideoView后面的背景颜色。例如,当我将alpha设置为高于10时,背景变为纯色,即上面的示例将变为RGB(128,0,0)。

我摆弄了许多内容,例如setAlpha(float)setBackgroundColor(Color),以不同的顺序动态创建视图,使用XML创建和排序视图,bringToFront()getBackground().setAlpha( int )android:background="@android:color/transparent"所有人都没有取得进一步的成功。

我构建了另一个简单的应用程序,删除了所有内容,试图弄清楚发生了什么,但没有成功。

XML布局

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/frame"
   android:orientation="horizontal"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent" >
   <VideoView 
    android:id="@+id/videoScreen"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent" >
   </VideoView>  
   <TextView
       android:id="@+id/textScreen"
       android:layout_width="300sp"
       android:layout_height="fill_parent"
       android:background="#80800000"
       android:text="@string/hello_world" 
       android:lines="400" >    
    </TextView>
</FrameLayout>

简单视频

final MediaController mediaController = new MediaController( getWindow().getContext() );
videoView = ( VideoView )findViewById( R.id.videoScreen );
mediaController.setAnchorView( videoView );
videoView.setMediaController( mediaController );        
videoView.setVideoPath( "/mnt/extsd/test-movie.mov" );
videoView.start();

如果我理解正确,这应该会在正在运行的VideoView上产生红色的半透明TextView,但我似乎无法使其正常工作。

如果我删除VideoView并将ImageView与图片放在一起,则透明度和背景颜色着色有效。我怀疑VideoView上的TextView有些不寻常。

有没有人有任何建议我可能做错了什么?还是要检查什么?

我有什么明显的遗失吗?

在VideoView上使用Color。 argb (128,128,0,0)的背景颜色的TextView的简短工作示例,如果有人有,我们将不胜感激。

0 个答案:

没有答案