私のレイアウトは以下です。一部の mdpi 画面では、内側の LinearLayout がカットオフされます。私がやりたいことは、内側の LinearLayout が常にすべてのコンテンツを表示するようにすることです。ImageView を必要なだけ小さく縮小して、その下の LinearLayout がすべてのコンテンツを表示するようにしたいと思います。大きな画面では、ImageView はその画像 (つまりwrap_content
) と同じ大きさにする必要があります。
ImageViewlayout_weight
に 0.1 を、LinearLayoutlayout_weight
に 0.9 を指定しようとしましたが (両方にlayout_height
0dp を指定)、大きな画面では ImageView がレイアウトの一番上に表示されてしまいます。ルート LinearLayout のコンテンツを中央に配置したいと思います。
そのため、その下の LinearLayout が常に完全に表示されるように、必要な場合にのみ ImageView を縮小することは可能ですか? さまざまな画面サイズ/解像度用に複数のレイアウト ファイルを作成することなく、これを達成しようとしています。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
style="@style/tab_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
tools:context=".messages.MessagesHomeFragment"
>
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="40dp"
android:src="@drawable/elephant_large" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
>
<Button
android:id="@+id/button_send_voice_message"
android:layout_width="239dp"
android:layout_height="wrap_content"
android:text="Send a Voice Message" />
<Button
android:id="@+id/button_send_sms_message"
android:layout_width="239dp"
android:layout_height="wrap_content"
android:text="Send an SMS" />
<Button
android:id="@+id/button_view_messages"
android:layout_width="239dp"
android:layout_height="wrap_content"
android:text="Manage Messages" />
<Button
android:id="@+id/button_invite_sms_recipients"
android:layout_width="239dp"
android:layout_height="wrap_content"
android:text="Invite SMS Recipients" />
</LinearLayout>
</LinearLayout>