2014-09-02 3 views
0

Я пытаюсь сделать растяжку VideoView на весь экран. У меня есть следующий макет XML в моем проекте:Android layout fill_parent не работает

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="0dp" 
    tools:context="com.example.myproject.MainActivity" 
    android:background="@color/green"> 

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

</LinearLayout> 

Однако экран телефона выглядит следующим образом (цвет фона зеленый и ширина действительно растягивать правильно):

Также андроид :

layout_height = "fill_parent" и

layout_he ight = "match_parent"

дает тот же результат. В телефоне работает Android 4.4. Также используется тема Theme.Holo.Light.NoActionBar, но изменение темы дает тот же результат (хотя просмотр xml включает соответствующие бары). Я также удаляю заголовок и панель действий в основном действии. Вот мой метод MainActivity.java OnCreate() (это единственное, что я изменил):

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    setContentView(R.layout.activity_main); 

    final VideoView videoPlayer = (VideoView)findViewById(R.id.videoView); 
    videoPlayer.setVideoPath("android.resource://" + getPackageName() + "/" + R.raw.zp); 
    videoPlayer.setOnTouchListener(new OnTouchListener() { 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      videoPlayer.start(); 
      return false; 
     } 
    }); 

} 

Может кто-нибудь пожалуйста, скажите мне, как я могу сделать VideoView растянуть на весь экран?

+0

Как вы надувать этот макет? – laalto

+0

Что касается изменения 'android: layout_height =" wrap_content "' to android: layout_height = "match_parent" 'также? :) –

+0

Я попытался изменить layout_height на «wrap_content», «match_parent» и «fill_parent» с тем же результатом. – user2565010

ответ

1

Я надеюсь, что это поможет,

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
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" /> 

</RelativeLayout> 
+0

это должно работать, хотя fill_parent и match_parent делают то же самое, fill_parent было переименовано в match_parent в sdk 8, и поэтому мы должны использовать match_parent. – speedynomads

+0

Это работает, стоит упомянуть, что ключевая модификация меняла LinearLayout на RelativeLayout. Также убедитесь, что вы добавили строки Dhruti, чтобы они работали. – user2565010

+0

LinearLayout помещает видеоизображение вверху, чтобы вы могли найти зеленое пространство под видеоизображением, но relativelayout будет делать то, что вы хотите сделать. – RajeshVijayakumar

Смежные вопросы