Как определить ориентацию экрана в потоке мастер / детали в Android
Я использую поток master/detail android и пытаюсь определить ориентацию экрана, чтобы уменьшить размер мастер-части в портретном режиме, но у меня возникли некоторые трудности, я написал этот метод:
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
setContentView(R.layout.activity_analyse_list);
LinearLayout layout = (LinearLayout) findViewById(R.id.mastermenu);
layout.setLayoutParams(new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT, (float) 0.5));
}
}
И я положил это в ListActivity
что является первым и основным действием, но ничего не происходит, когда я переворачиваю планшет, я пытался использовать Log.d
чтобы увидеть, если onConfigurationChanged
вызывается на ротацию, но ничего на логкат.
1 ответ
Если вам нужно 2 разных макета в зависимости от ориентации экрана, вы можете определить другой макет для ландшафта, добавив папку с макетом и определив другой макет для этой ориентации.
В этом макете вы можете вносить любые изменения по сравнению с портретом. Вам не нужно ничего делать самостоятельно, об этом позаботится Android