gpt4 book ai didi

java - 根据屏幕方向在微调器和 ListView 之间切换

转载 作者:行者123 更新时间:2023-11-29 21:13:21 25 4
gpt4 key购买 nike

在我的 android 应用程序中,我有一个包含不同计算器的微调器,当选择一个计算器时,它会显示在下面的 ScrollView 中。当屏幕设置为水平时,布局发生变化, ScrollView 在右侧,微调器在左侧,它们的工作方式相同。

但是,当屏幕处于水平位置时, ListView 看起来会更好,但我似乎找不到在 java 代码中进行切换的方法。

有人可以帮忙吗?

这是初始化方法的代码,我想知道是否有一种方法可以插入一个 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);
}

最佳答案

您有 2 种可能的解决方案:

  1. portraitlandscape 模式创建不同的布局(它们将放置在 layoutlayout-land 下文件夹)。
  2. 在您的布局中创建一个容器(例如,FrameLayout)。并根据方向在运行时为其添加相应的 View 。

无论如何,由于两个方向使用不同的元素,在您的代码中您应该添加以下 if 语句:

if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){

} else {

}

关于java - 根据屏幕方向在微调器和 ListView 之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22115360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com