Android-манифест по размеру экрана

Можно ли иметь несколько файлов манифеста для разных размеров экрана.

Я спрашиваю, потому что у меня есть приложение, которое должно быть оптимизировано для телефона и планшета.

Но я хочу заблокировать "версию телефона" в портретной ориентации, в то время как "версия для планшета" должна включать портретную и альбомную ориентацию.

Так что для меня проще всего было бы позволить андроиду обрабатывать изменения ориентации, а я бы установил только android: screenOrientation = "Portrait" в файле манифеста.

Есть ли способ сделать что-то вроде "layout-sw600dp" для манифеста или связать значение в манифесте android:screenOrientation="@string/ Portrait_landscape_enabled"

где "@ string / Portrait_landscape_enabled" будет установлен в значениях-sw600dp и т. д.

Какие-либо предложения?

3 ответа

Решение

Вы должны установить ориентацию экрана в коде в зависимости от запущенного приложения устройства

if(device is phone)
{
  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);  
}

Это просто ключ.

Вы не можете сделать это. Я не думаю, что создание нескольких файлов манифеста возможно в Android.

Вы можете установить программным путем, я напишу просто ссылку на фрагмент кода и попробуйте сами. невозможно добавить больше файла манифеста.

    Button buttonSetPortrait = (Button)findViewById(R.id.setPortrait);
    Button buttonSetLandscape = (Button)findViewById(R.id.setLandscape);

    buttonSetPortrait.setOnClickListener(new Button.OnClickListener(){

   @Override
 public void onClick(View arg0) {
// TODO Auto-generated method stub
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
 }});

    buttonSetLandscape.setOnClickListener(new Button.OnClickListener(){

   @Override
 public void onClick(View arg0) {
// TODO Auto-generated method stub
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
 }});
}
Другие вопросы по тегам