我的屏幕布局包含3个按钮控件,包含在线性布局(水平)中。每个按钮都有一个背景图像。请参阅以下XML:
<LinearLayout
android:id="@+id/notificationform_llt_ApprovalBtns"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:orientation="horizontal"
android:paddingLeft="8dp"
android:paddingRight="8dp" >
<Button
android:id="@+id/notificationform_btn_Approve"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/btn_approve"
android:onClick="btnApprove_Click" />
<Button
android:id="@+id/notificationform_btn_Reject"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@drawable/btn_reject"
android:onClick="btnReject_Click" />
<Button
android:id="@+id/notificationform_btn_Delegate"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/btn_delegate"
android:onClick="btnDelegate_Click" />
</LinearLayout>
我的Galaxy W手机屏幕看起来很棒(3.7英寸),但是当我在Nexus 7上运行时,按钮水平拉伸但不垂直,因此看起来被压扁。如果我理解它们,这两个设备的分辨率都相似,两者都有在drawable-hdpi文件夹中查找图像,这是我的图像存储的位置。我已经尝试制作图像9-patch但这没有任何区别。如何使图像在高度和宽度上按比例缩放?
答案 0 :(得分:6)
按钮会水平拉伸,因为LinearLayout
设置为fill parent
,而每个button
都有权重使其伸展。高度设置为wrap_content
,并且没有任何内容。图像被设置为背景,不会对button
的大小产生任何影响。
最好将按钮更改为ImageButtons并使用android:src
代替android:background
。例如:
<ImageButton
android:id="@+id/notificationform_btn_Approve"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:src="@drawable/btn_approve"
android:onClick="btnApprove_Click" />