如何将适当的图像应用于基于应用程序语言环境的ImageView?

问题描述:

有什么办法可以为ImageView的不同语言使用不同的图像吗?如何将适当的图像应用于基于应用程序语言环境的ImageView?

想象一下,我有这两个图片,第一个是从右到左的语言,第二个是从左到右的语言,我该如何将适当的图像应用到基于我的应用程序Locale的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> 

enter image description here

enter image description here

+0

看到https://developer.android.com/guide/topics/resources/providing-resources值.html#AlternativeResources – pskink

将正常图像中的drawable-ldrtl-*文件夹中的文件夹drawable-* RTL图像英寸

如果你想使用单一的形象:在values-ldrtl/integers

广场<integer name="angle_rtl_180">0</integer>values/integers

<integer name="angle_rtl_180">180</integer>然后使用rotationY属性中的ImageView为:

android:rotationY="@integer/angle_rtl_180" 
+0

是*我的语言环境?像drawable-ldrtl-fa? –

+0

像drawable-hdpi,drawable-xhdpi等屏幕密度 –

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

imageView.setRotation(angle); 

角度要旋转 希望这有助于你