0

現在、ボタン/コンテンツを使用する画面の上 50% と、ロゴのみを表示する下 50% のアプリのメイン画面があります。ただし、ロゴが画面の下 25% のみを占めるように変更することはできないようです。

上部セクションに 3、下部に 1 の layout_weight を使用していますが、これにより下部ロゴが画面領域の 95% を占め、メイン領域のすべてのコンテンツが表示されなくなります。外側のコンテナに weightSum を使用しても機能せず、layout_width/height を fill_parent または wrap_content の組み合わせに変更しても問題ありませんでした。

layout_weight を使用して他のヘルプ スレッドを読み、ドキュメントを読みましたが、すべて非常に簡単に見え、問題なくコンテンツ領域でそれらを使用しました。なぜこれがここで問題を引き起こしているのかわかりません。

これが私のコードです:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:textColor="#000000"
android:background="#faff67"
>
 <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:background="@drawable/backing"
    android:paddingTop="5dp"
    android:paddingRight="3dp"
    android:paddingLeft="3dp"
    android:paddingBottom="3dp"
    android:layout_margin="3dp"
android:layout_weight="3"
    >

    <!-- Main content area stuff -->


 </LinearLayout>
<LinearLayout
android:id="@+id/main"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:paddingTop="0dp"
android:layout_weight="1"
   >
<ImageView  android:scaleType="fitCenter"
            android:contentDescription="Logo"
            android:src="@drawable/logo"
            android:id="@+id/front_logo"
            android:padding="1sp"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"></ImageView>
</LinearLayout>
</LinearLayout>
4

3 に答える 3

2

を使用する場合は、加重コンポーネントandroid:layout_weightを設定する必要があります。android:layout_height="0dp"そうしないと、場合によってはレイアウトの高さが重みよりも優先されます。

もちろん縦置き用です。水平の場合は、android:layout_width="0dp"

于 2013-03-05T16:26:22.753 に答える
0

weight属性の使い方が間違っています。重みパラメーターを設定するときは常に、対応する幅または高さを 0dp に設定する必要があります。したがって、重みを0dp に割り当てるレイアウトの高さを変更します。

android:layout_height="0dp"
于 2013-03-05T16:27:36.973 に答える
0

これを使って

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#faff67"
android:orientation="vertical"
android:textColor="#000000" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:background="#123123"
    android:gravity="center"
    android:orientation="vertical" >
</LinearLayout>

<LinearLayout
    android:id="@+id/main"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="3" >

    <ImageView
        android:id="@+id/front_logo"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:contentDescription="Logo"
        android:padding="1sp"
        android:scaleType="fitCenter"
        android:src="@drawable/logo" >
    </ImageView>
</LinearLayout>

</LinearLayout>
于 2013-03-05T16:30:11.180 に答える