4

HDMI経由でビデオ出力をディスプレイに使用するAndroid 4.0.3で実行されるアプリを作成しています。

VideoView の上で色付きの透明な TextView が動作していましたが、一連の一見無関係な変更で壊れてしまい、再び動作させることができません。

私は SetBackgroundColor を使用していました。つまり、

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

症状は、TextView が単色の背景色 (RGB 128,0,0) を表示し、透明度がないことです。アルファを 0 の間に設定すると、背景は完全に透明になりますが、TextView 内のテキストのアウトラインで VideoView の背後にある背景の色を確認できます。たとえば、アルファを 10 などの高い値に設定すると、背景は単色になります。つまり、上記の例では RGB(128,0,0) になります。

、、ビューをさまざまな順序で動的に作成する、XML でビューを作成および順序付けする、などsetAlpha(float)、多くのことをいじりましたが、それ以上成功しませんでした。setBackgroundColor(Color)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 について何か異常があるのではないかと疑っています。

私が間違っている可能性のある提案はありますか?またはチェックする何か?

私が見逃している明らかなものはありますか?

Color の背景色を使用した TextView の短い実例。VideoView に対する argb ( 128, 128, 0, 0 ) は、誰かが持っていればありがたいです。

4

0 に答える 0