0

我有一個XML這是一個不同的XML全屏視頻即使VideoView裏面不同的XML的(用include)

<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> 

內內VideoView,但我想這videoview在subLayout2採取全屏時點擊全屏按鈕..請幫助我!

回答

0

在你的代碼已經把下面的寬度高度sublayout

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

Sublayout1只是包括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文件

然後videoview。在最小化你必須設置的價值回到原來的。 metrics.density將dp轉換爲像素。

Reference