我的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%。
那我错了什么?
我大概都想要这种设计。
答案 0 :(得分:1)
在layout_width
上使用0 dip
时,将layout_weight
设置为View
。
请参阅Android工程师Romain Guy的回答:Android Layout Weight
答案 1 :(得分:1)
如果尺寸反转,请尝试切换图像的重量和其他布局。有时,Android的重量系统很容易让人失望
如果@ drawable / app_icon_17是不会更改的永久图像,则可以尝试RelativeLayout。您可以将图像锚定在屏幕左侧,然后将另一个ViewGroup放在其右侧。