0

Ich habe eine Videoview in einer xml, die in einem anderen XML istVollbild-Video, auch wenn die Videoview innerhalb verschiedener xml ist, ist (mit einschließen)

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

aber ich möchte dieses Videoview in subLayout2 Vollbild nehmen, wenn Ein Vollbild-Button wird angeklickt .. bitte hilf mir !!

Antwort

0

In Ihrem Code haben Sie die folgende Breite Höhe für sublayout

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

Sublayout1 sublayout2 gerade beinhaltet setzen. Sie müssen eine bestimmte Breite und Höhe außer wrap_content und match_parent angeben.

Dann in der Java-Datei für diese Aktivität:

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); 
     } 
    }); 

Für das Video zurück zur ursprünglichen Einstellung:

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); 
     } 
    }); 

Während Vollbild Sie den Wert der Bildschirmgröße finden und es dann auf die eingestellte Videoansicht. Beim Minimieren müssen Sie den Wert auf das Original zurücksetzen. metrics.density konvertiert dp in Pixel.

Reference

Verwandte Themen