2013-08-27 3 views
5

Ich erstellte einfache Video-Ansicht-Anwendung es funktioniert gut. Ich habe layoutparams zur videoansicht hinzugefügt und videoview in eine Layoutposition hinzugefügt, dieses mal mein Mediacontroller, der außerhalb der Region zeigt, aber ich möchte Mediacontroller über dem Video zeigen. Bitte geben Sie mir Ihre nützlichen Vorschläge.Wie wird der Media Controller über das Video eingestellt?

Screenshot: enter image description here

Code:

public class MainActivity extends Activity { 
    private VideoView view; 
    RelativeLayout layoutmain, layout; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     layoutmain = (RelativeLayout) findViewById(R.id.id1); 
     MediaController controller = new MediaController(this); 
     view = new VideoView(this); 
     view.setVideoPath("/mnt/sdcard/jj.avi"); 
     RelativeLayout.LayoutParams viewparam = new RelativeLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT); 
     viewparam.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
     viewparam.addRule(RelativeLayout.ALIGN_PARENT_TOP); 
     viewparam.addRule(RelativeLayout.ALIGN_PARENT_LEFT); 
     viewparam.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); 
     view.setLayoutParams(viewparam); 
     FrameLayout.LayoutParams viewparam1 = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT); 
     controller.setLayoutParams(viewparam1); 
     view.setMediaController(controller); 
     controller.setAnchorView(controller); 
     view.requestFocus(); 
     view.start(); 
     try { 
      layout = new RelativeLayout(this); 
      RelativeLayout.LayoutParams viewparam2 = new RelativeLayout.LayoutParams(500, 500); 
      viewparam2.setMargins(20, 20, 0, 0); 
      layout.setLayoutParams(viewparam2); 
      layout.setBackgroundColor(Color.BLACK); 
      layout.addView(view); 
      layout.addView(controller); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     layoutmain.addView(layout); 
    } 
} 

Antwort

5

eine Ansicht in XML erstellen, in dem Sie den Controller setzen wollen, dann in Code schreiben wie diese

View v = findViewById(R.Id.yourView); 

controller.setAnchorView(v); 
Verwandte Themen