在我的Android应用程序中,我有一个包含不同计算器的微调器,当选择计算器时,它会显示在下面的滚动视图中。当屏幕设置为水平时,布局会更改,以使滚动视图位于右侧,并且微调器位于左侧,并且它们的工作方式相同。
然而,当屏幕处于水平位置时,listview看起来会更好,但我似乎找不到在java代码中进行切换的方法。
任何人都可以帮忙吗?
这是initialize方法的代码,我想知道是否有一种方法可以插入if语句,如果屏幕是垂直的,则初始化微调器,如果屏幕是水平的,则会初始化listview 。
private void initialize() {
valg_vertical = (Spinner) findViewById(R.id.sKalk);
// Adds the custom look for the spinner
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.custom_spinner, getResources().getStringArray(
R.array.calculator));
adapter.setDropDownViewResource(SpinnerItemLayout);
valg_vertical.setAdapter(adapter);
// Adds the custom look for the spinner
lLayout = (LinearLayout) findViewById(R.id.lInSVKalk);
valg_vertical.setOnItemSelectedListener(this);
}
答案 0 :(得分:2)
您有两种可能的解决方案:
portrait
和landscape
模式创建不同的布局(它们分别位于layout
和layout-land
个文件夹下。)FrameLayout
)。并根据方向在运行时添加相应的视图。无论如何,由于两个方向都使用不同的元素,因此在代码中应添加以下if
语句:
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
} else {
}