基本的に、線形レイアウトの 1 つに ImageView があります。各レイアウトに重みが設定されていると、サイズが変更されます。レイアウトの ImageView も同様です。問題は - 実際に幅を変更する高さだけが同じままです。
なぜそれが問題なのですか?customView があり、カップに配置する必要があるため、カップの x、y 座標とサイズ (幅と高さ) が必要です。現在、さまざまな画面サイズでさまざまな幅を取得しています。
レイアウト コード:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="3"
android:orientation="horizontal" >
<RelativeLayout
android:id="@+id/rlmainContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/ivCup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/cup1_r" />
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >
</LinearLayout>
</LinearLayout>
Archie.bpgc ソリューション (layout_height="0dp" を設定) は役に立ちません。さらにいくつかの画像を設定すると、それらはすべて不均等な幅になります。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal" >
<ImageView
android:id="@+id/ivCup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/cup1_r" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<ImageView
android:id="@+id/ivCup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/cup1_r" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<ImageView
android:id="@+id/ivCup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/cup1_r" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<ImageView
android:id="@+id/ivCup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/cup1_r" />
</LinearLayout>
</LinearLayout>