Различный дизайн для альбомной и портретной ориентации Android

Можем ли мы иметь другой XML для ландшафта и другой XML для портретной ориентации?

Я работаю над простым приложением, у меня мало кнопок и текстовых представлений, xml выглядит хорошо в портретной ориентации, но с тем же xml, когда я проверяю альбомную ориентацию, дизайн не выглядит хорошо.

Любые предложения приветствуются. Спасибо.

4 ответа

Решение

Да, конечно.

Вам нужно будет создать две версии XML-файлов и поместить их в папки layout-port и layout-land внутри папки res.

например:

res/layout [Portrait Mode; default]
 main.xml
res/layout-land [Landscape Mode]
 main.xml 

Более подробную информацию об этом можно найти по адресу http://developer.android.com/training/basics/supporting-devices/screens.html

Если вы хотите сделать другой макет для ландшафта, поместите его в

res -> layout-land папка

Оба названия xml должны быть одинаковыми, для чего используется портретная и альбомная ориентация.

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_screen_orientation_app);
   if(getResources().getDisplayMetrics().widthPixels>getResources().getDisplayMetrics().
            heightPixels) 
        {  
            Toast.makeText(this,"Screen switched to Landscape mode",Toast.LENGTH_SHORT).show(); 
        } 
        else 
        { 
            Toast.makeText(this,"Screen switched to Portrait mode",Toast.LENGTH_SHORT).show(); 
        }
    }

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

http://developer.android.com/training/basics/supporting-devices/screens.html

Другие вопросы по тегам