2017-09-24 6 views
0

ImageViewの言語ごとに異なる画像を使用する方法はありますか?アプリケーションロケールに基づいてImageViewに適切なイメージを適用するにはどうすればよいですか?

私はこの2つの画像を持っていることを想像してみましょう。最初は右から左へ言語用、もう1つは左から右への言語です。アプリケーションロケールに基づいてImageViewに適切な画像を適用するにはどうすればいいですか?

enter image description here

<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-ldrtl-*フォルダ内 drawable-*フォルダRTL画像内

enter image description here

+0

がhttps://developer.android.com/guide/topics/resources/providing-resourcesを見ることができます 希望を回転させるようにする値である回転させるために、コードの下に使用することができます.html#AlternativeResources – pskink

答えて

2

プレイス通常画像。

あなたは、単一のイメージを使用する場合:

android:rotationY="@integer/angle_rtl_180" 
values-ldrtl/integers

values/integers

<integer name="angle_rtl_180">180</integer>

場所<integer name="angle_rtl_180">0</integer>を、次にようImageViewのでrotationY属性を使用

+0

は*ロケールですか? drawable-ldrtl-faのような? –

+0

は、drawable-hdpi、drawable-xhdpiなどの画面密度です –

0

シナリオの説明どおりに別のイメージを作成する必要はありません。これによりapkのサイズが大きくなります。言語に変更があるかどうかを確認する必要があります。ビューを回転する方法があります。 x軸とy軸の周りを回転させるだけで、必要な回転角度を渡すだけで完了です。あなたは

imageView.setRotation(angle); 

角度は、あなたがこれがあなた