0

我的 XML 代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<LinearLayout
    android:id="@+id/rl_upload_header"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:minHeight="50dp" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/upload_activity"
        android:textSize="20sp"
        android:textStyle="bold" />
</LinearLayout>

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1" >

    <LinearLayout
        android:id="@+id/ll_middle"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:baselineAligned="false"
        android:gravity="center"
        android:orientation="horizontal" >

        <LinearLayout
            android:id="@+id/ll_img"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:gravity="center" >

            <ImageView
                android:id="@+id/image_view"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:background="@drawable/app_icon_17"
                android:contentDescription="@string/empty" >
            </ImageView>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/ll_eds"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="5"
            android:baselineAligned="false"
            android:gravity="center"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/ed_img_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="20dp"
                android:background="@drawable/text_box_background"
                android:hint="@string/name"
                android:paddingLeft="12dp" />

            <EditText
                android:id="@+id/ed_amount"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/text_box_background"
                android:hint="@string/amount"
                android:paddingLeft="12dp" />

            <EditText
                android:id="@+id/ed_desc"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="20dp"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/text_box_background"
                android:hint="@string/desc"
                android:paddingLeft="12dp" />
        </LinearLayout>
    </LinearLayout>
</ScrollView>

<LinearLayout
    android:id="@+id/rl_upload_bottom"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:baselineAligned="false"
    android:gravity="center"
    android:minHeight="70dp"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:baselineAligned="false"
        android:gravity="center" >

        <Button
            android:id="@+id/button_upload"
            android:layout_width="120dp"
            android:layout_height="40dp"
            android:background="@drawable/upload" >
        </Button>
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:baselineAligned="false"
        android:gravity="center"
        android:minHeight="50dp" >

        <Button
            android:id="@+id/button_cancel"
            android:layout_width="120dp"
            android:layout_height="40dp"
            android:background="@drawable/discard" >
        </Button>
    </LinearLayout>
</LinearLayout>

</LinearLayout>

在此ImageVIew(id =image_view),我只想占用大约 25% 的屏幕空间(宽度),剩余宽度应由包含编辑文本(id =ll_eds)的布局占用。

但是当图像的宽度很大时,它几乎占据了屏幕宽度的 90%。

那我做错了什么?

大概我想要这种设计。

4

2 回答 2

1

在. layout_width_ 0 dip_ layout_weight_View

请参阅 Android 工程师 Romain Guy 的回答:Android Layout Weight

于 2013-01-04T13:47:09.907 回答
1

如果尺寸看起来相反,请尝试切换图像和其他布局的权重。有时Android的权重系统很容易让人失望

如果@drawable/app_icon_17 是永久不变的图片,你可以试试RelativeLayout。您可以将图像锚定到屏幕的左侧,然后将另一个 ViewGroup 放在它的右侧。

于 2013-01-04T13:57:26.247 回答