0

場合でも、私は別のXML内フルスクリーンビデオVideoViewが内側(includeを使用)異なるXMLの

<main.xml 
    <include layout = "@layout/subLayou1"/> > 
</main> 

<subLayout1.xml 
    <include layout = "@layout/subLayout2"/> > 
</subLayout1> 

<subLayout2.xml 
    <VideoView 
     android:id="@+id/videoView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentTop="true" 
     android:layout_centerInParent="true" 
     android:background="@android:color/transparent" /> 

    <Button for full screen /> 
</subLayout2> 

ですが、私はsubLayout2でこのvideoviewが時に全画面表示をしたいXML内部VideoViewを持っていますフルスクリーンのボタンをクリックしてください。私を助けてください!あなたはsublayout

android:layout_width="match_parent" 
android:layout_height="match_parent" 

ため、以下の幅、高さSublayout1を入れているあなたのコードで

答えて

0

だけsublayout2が含まれています。 wrap_contentとmatch_parent以外の特定の幅と高さを指定する必要があります。元に戻すのビデオを設定し

VideoView vv = findViewById(R.id.videoView); 
DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); 
     android.widget.LinearLayout.LayoutParams params = (android.widget.LinearLayout.LayoutParams) videoView.getLayoutParams(); 


    fullscreenbtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      params.width = metrics.widthPixels; 
      params.height = metrics.heightPixels; 
      vv.setLayoutParams(params); 
     } 
    }); 

:あなたは画面サイズの値を検索し、それを設定し、フルスクリーン時に

normalscreenbtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      params.width = (int) (original_width_dp*metrics.density); 
      params.height = (int) (original_height_dp*metrics.density); 
      vv.setLayoutParams(params); 
     } 
    }); 

この活動のためのJavaファイルで次に

ビデオビュー最小限に抑えるためには、値をオリジナルに戻す必要があります。 metrics.densityはdpをピクセルに変換します。

Reference

関連する問題