gpt4 book ai didi

Android:如何使用 xml 字符串值确定布局方向

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:10:55 25 4
gpt4 key购买 nike

我有一个简单的线性布局,我想根据设备的屏幕尺寸进行更改。我想做的是类似

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
android:orientation="@string/cover_orientation"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>

我在 values 和 values-xlarge 下创建了不同的 dimen.xml 文件,这样 cover_orientation 变量将根据屏幕尺寸采用不同的值(“垂直”或“水平”) .

string name="cover_orientation">"vertical"

但这行不通。我找到了一个临时解决方法,涉及检查屏幕尺寸和手动更改方向:

if(getResources().getString(R.string.screen_size) == "xlarge"){
((LinearLayout)convertView).setOrientation(1);
}

但看起来您应该能够以第一种方式做到这一点(更优雅/代码更少)。

我考虑过为每个屏幕尺寸设置不同的布局,但布局实际上很大,这是我需要针对不同屏幕尺寸进行的唯一更改。因此,复制整个布局对我来说意义不大。

谢谢!

最佳答案

一个很好的方法是添加

android:orientation="@integer/cover_orientation"

在您的 LinearLayout 上并像下面这样定义它。

values/consts.xml 中:

<resources>

<integer name="orientation_horizontal">0</integer>
<integer name="orientation_vertical">1</integer>

</resources>

values/something.xml 中:

<resources>

<integer name="cover_orientation">@integer/orientation_vertical</integer>

</resources>

values-land/something.xml 中:

<resources>

<integer name="cover_orientation">@integer/orientation_horizontal</integer>

</resources>

这样您就可以避免在整个应用程序的方向变量定义中对零和一进行硬编码。

关于Android:如何使用 xml 字符串值确定布局方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6445269/

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