gpt4 book ai didi

在纵向和横向之间切换时,Android整数xml资源值不会改变

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

我使用以下 GradientDrawable 作为 RelativeLayout 的背景:

<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="@integer/my_value"
android:endColor="#0FFF"
android:startColor="#FFFF" />
</shape>

然后在 res\values 文件夹中创建一个名为 integers.xml 的文件:

<resources>
<integer name="my_value">90</integer>
</resources>

res\values-land 文件夹下的另一个同名文件:

<resources>
<integer name="my_value">180</integer>
</resources>

因此,当我旋转设备时,在运行 Android 2.3.3 时(如预期的那样),渐变从底部->顶部到右->左,但是当我在 Android 4.4.4 上测试时,渐变角度不会改变。

我也尝试过:

<item name="my_value" format="float" type="dimen">90</integer>

但结果相同。

有什么想法吗?

更新:

使用 GradientDrawable 的 RelativeLayout 存在于 2 个不同的文件中:

  1. res\layout\my_layout
  2. res\layout-land\my_layout

res\layout-land\my_layout

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/my_drawable" >

更新 2:

该问题仅在旋转设备时发生。如果我在之前旋转设备的情况下开始 Activity ,则梯度角度设置正确。

最佳答案

一个快速的解决方法是直接使用两种不同的形状:

  1. 一个用于人像模式

    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <gradient
    android:angle="90"
    android:endColor="#0FFF"
    android:startColor="#FFFF" />
    </shape>
  2. 一个用于横向模式

    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <gradient
    android:angle="180"
    android:endColor="#0FFF"
    android:startColor="#FFFF" />
    </shape>

关于在纵向和横向之间切换时,Android整数xml资源值不会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25466948/

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