2016-04-04 15 views
0

を隠蔽I以下のレイアウト(最小の例に削減)を有するアンドロイドVideoViewレイアウト要素

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <VideoView 
     android:id="@+id/videoView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <EditText 
     android:id="@+id/editText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@color/free_text_default_bg" 
     android:gravity="center_horizontal" 
     android:padding="@dimen/free_text_padding" 
     android:text="background element is a video view" /> 

</RelativeLayout> 

問題であり、私の周りのEditTextを移動する場合(それに取り付けられたオレンジ色のリスナーを持っている)こと、あなたがこのスクリーンショットで見ることができるように、それは画面の特定の点で消滅します。

enter image description here

問題は、私はVideoViewを持っている場合にのみ表示されているようです。私がビデオを見せなくても。 と交換した場合ImageViewには全く問題はありません。

私の質問は、何が起こっているのか、これをどのように解決できますか?

ありがとうございました!

UPDATE 1:VideoViewは

私はすべてがうまく機能し、いくつかの「DP」の値に設定し
android:layout_height="match_parent" 

を持っている場合にのみ...

答えて

0

を起こる、私は私の解決策を見つけることができませんでした質問がジェットですが、回避策が見つかりました: レイアウトが完了したら、親コンテナから高さを取得し、1ピクセルを引いて、これをビデオビューの新しい高さに設定します。 1pxのがほとんど見えない...ここで

はコードです:

@Override 
public void onWindowFocusChanged(boolean hasFocus) { 
    super.onWindowFocusChanged(hasFocus); 

    ViewGroup.LayoutParams layoutParams = videoView.getLayoutParams(); 
    layoutParams.height = parentView.getHeight() - 1; 
    videoView.setLayoutParams(layoutParams); 
} 
関連する問題