Android デバイスで、画面幅から 20 dp を引いた右側に画像を配置したいと考えています。
この疑似コードは次のようになります。
- res/drawable フォルダーから画像を取得します。
- 画像の位置を設定 - これは画面幅から 20 dp を引いたものでなければならず、画面幅を計算してから位置を設定する必要があります (これは xml で可能ですか?)
- イメージをレンダリングします。
パート 1 と 3 はクリアですが、パート 2 は難しく、助けが必要なところです。
RelativeLayout
コンテナとして使用できます。このレイアウト内でandroid:layout_alignParentRight="true"
とandroid:layout_marginRight="20dp"
を設定します。ImageView
詳細については、こちらをご覧ください。
onCreate()
私の理解では、ウィンドウの寸法を取得し、計算を行い、メソッド内で画像の位置を設定する Java クラスでこれを行う必要があるということです。
はい、xml でも取得できます。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="right"
android:layout_marginRight="20dp"
android:orientation="vertical" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon" />
</LinearLayout>
android:layout_marginRight="20dp"
右からパディングを設定することに注意してください