0

ボタンのレイアウトを構成しようとしていますが、構造を正しく形成できません。VMでコードを実行すると、重みがわずか10%であるにもかかわらず、ImageButtonアドバタイズメントが画面の50%以上を占めるようになります。各画像ボタンはdrawable-ldpiに保存されている画像を参照し、それぞれのサイズは約1 KBで、アクティビティコードは基本的なものであり、追加はありません。これは、現時点ではメインxmlを介した純粋なグラフィックインターフェイスです。

意図したレイアウト:

 _______________________
|        logo          |
|______________________|
|       search         |
|______________________|
|                      |
|     featured         |
|                      |
|______________________|
|    |     |     |     |
|    |     |     |     |
|    |     |     |     |
|    |     |     |     |
|    |     |     |     |
|    |     |     |     |
|    |     |     |     |
|____|_____|_____|_____|
|     advertisement    |
|______________________|

ANDROID MAIN.XMLコード:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainlayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/toplayout"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_weight="45"
        android:gravity="top"
        android:orientation="vertical" >

        <ImageButton
            android:id="@+id/mytastelogo"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:layout_weight="15"
            android:src="@drawable/mytastelogo_image" />

        <ImageButton
            android:id="@+id/search"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:layout_weight="10" />

        <ImageButton
            android:id="@+id/featuredpanel"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:layout_weight="20" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/bottomlayout"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_weight="45"
        android:gravity="bottom"
        android:orientation="horizontal" >

        <ImageButton
            android:id="@+id/mycollection"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:src="@drawable/mycollection_image" />

        <ImageButton
            android:id="@+id/myrecommendations"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:src="@drawable/myrecommendations_image" />

        <ImageButton
            android:id="@+id/topitems"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:src="@drawable/topitems_image" />

        <ImageButton
            android:id="@+id/randomitem"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:src="@drawable/randomitem_image" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/adlayout"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_weight="10"
        android:gravity="end" >

        <ImageButton
            android:id="@+id/advertisement"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </LinearLayout>

</LinearLayout>
4

3 に答える 3

1

男を試してみてください:-)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainlayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
    android:id="@+id/toplayout"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="45"
    android:gravity="top"
    android:orientation="vertical" >

    <ImageButton
        android:id="@+id/mytastelogo"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="15" />

    <ImageButton
        android:id="@+id/search"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="10" />

    <ImageButton
        android:id="@+id/featuredpanel"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="20" />
</LinearLayout>

<LinearLayout
    android:id="@+id/bottomlayout"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="45"
    android:gravity="bottom"
    android:orientation="horizontal" >

    <ImageButton
        android:id="@+id/mycollection"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" />

    <ImageButton
        android:id="@+id/myrecommendations"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" />

    <ImageButton
        android:id="@+id/topitems"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" />

    <ImageButton
        android:id="@+id/randomitem"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" />
</LinearLayout>

<LinearLayout
    android:id="@+id/adlayout"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="10" >

    <ImageButton
        android:id="@+id/advertisement"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

于 2012-08-22T19:14:13.430 に答える
0

オリエンテーションが。のときに設定layout_heightする必要があります。の場合は、に設定します。0dpverticalhorizontallayout_width0dp

例えば:

<LinearLayout
        android:id="@+id/toplayout"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="45"
        android:gravity="top"
        android:orientation="vertical" >
于 2012-08-22T18:56:18.300 に答える
-1

高さを決定する重みを持つすべてのアイテムでは、android:layout_heightを0dpに設定する必要があります。

android:layout_height="0dp"

同様に、幅が重量によって決定されるアイテムの場合、設定する必要があります

android:layout_width="0dp"
于 2012-08-22T18:58:07.040 に答える