2014-11-23 3 views
0

Я хочу показать свое видео с нормальным размером на портрете и с полным размером на ландшафте. Поэтому, когда пользователи начинают смотреть на портрете и переключаются на Landscape (Поворот устройства), он переходит в полноэкранный режим; когда наоборот, оно возвращается к исходному размеру. Я проверил интернет, но не смог найти хороший пример. Мои коды ниже.Android - полноэкранный макет для VideoView

enter image description here enter image description here

VideoActivity.java:

общественный класс VideoActivity расширяет активность {

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 

     setContentView(R.layout.activity_video); 


     Bundle bund = getIntent().getExtras(); 
     String s = bund.getString("LINK"); 
     VideoView videoView = (VideoView) findViewById(R.id.videoView); 
     MediaController controller = new MediaController(this); 
     videoView.setVideoPath(s); 
     videoView.setMediaController(controller); 
     videoView.start(); 
    } 
} 

activity_video.xml:

<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" 
    tools:context="${relativePackage}.${activityClass}" 
    android:background="#000000" 
    > 

    <VideoView 
     android:id="@+id/videoView" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_centerInParent="true" 

     /> 

</RelativeLayout> 

В принципе. Когда пользователь запускает видеоролик, он может быть оригинального размера (если портретный режим), но всякий раз, когда он поворачивает телефон, я хочу, чтобы он автоматически включался в полноэкранный режим. И когда вернулась к портрету, оригинальный размер снова.

Спасибо.

ответ

2

Создайте новый файл с именем bools.xml в values папке, как показано ниже:

<?xml version="1.0" encoding="utf-8"?> 
    <resources> 
    <item type="bool" name="isPortLayout">true</item> 
</resources> 

создать другой файл в values-land папку с именем bools.xml, как показано ниже:

<?xml version="1.0" encoding="utf-8"?> 
    <resources> 
    <item type="bool" name="isPortLayout">false</item> 
</resources> 

Сейчас в вашей деятельности до позвонив по номеру setContentView, получите этот ресурс и исходя из его значения Activity как полный экран или нет:

boolean isPortLayout = getResources().getBoolean(R.bool.isLargeLayout); 
if(isPortLayout) { 
    // PORT 
} else { 
    // LAND 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
} 

Установите свою VideoView ширину и высоту match_parent.

+0

Ответ основан на моем ответе на другой вопрос: http://stackoverflow.com/questions/27020276/how-to-make-application-run-portrait-in-phone-and-landscape-on-tablets/27020935 # 27020935 –

+0

Это не работает. Спасибо, в любом случае. – rencsaridogan

+0

Можете ли вы опубликовать снимок экрана о том, что это такое и объяснить, что это должно быть? –

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