我如何根据应用程序区域设置将正确的图像应用到 ImageView?

How can i apply the proper image to the ImageView based on the application Locale?

有什么方法可以让 ImageView 的不同语言有不同的图像吗?

假设我有这两张图片,第一张是从右到左的语言,第二张是从左到右的语言,我如何根据我的应用程序区域设置将正确的图像应用到 ImageView?

  <ImageView
    android:id="@+id/message_icon"
    android:layout_width="@dimen/message_text_icon"
    android:layout_height="@dimen/message_text_icon"
    android:src="@drawable/sent_message_icon"
    android:padding="@dimen/padding_small"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true"></ImageView>

普通图片放在drawable-*文件夹里 rtl图片放在drawable-ldrtl-*文件夹里

如果要使用单图:

<integer name="angle_rtl_180">0</integer> 放入 values/integers

<integer name="angle_rtl_180">180</integer>values-ldrtl/integers

然后在 imageView 中使用 rotationY 属性作为:

android:rotationY="@integer/angle_rtl_180"

不需要像您提到的场景那样创建不同的图像,因为那样会增加 apk 的大小。您需要检查语言是否有变化,是否有旋转视图的方法。您只需围绕 x 和 y 轴旋转并通过所需的旋转角度即可完成。你可以使用下面的代码来旋转

imageView.setRotation(angle);

角度是你要旋转的值 希望对你有帮助