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