Jon*_*ham 2 scaling android background image button
我有一个屏幕布局,包括线性布局(水平)中包含的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>
Run Code Online (Sandbox Code Playgroud)
我的Galaxy W手机屏幕看起来很棒(3.7英寸),但是当我在Nexus 7上运行时,按钮水平拉伸但不垂直,因此看起来被压扁.如果我理解它们,这两个设备的分辨率相似,都会查找图像在drawable-hdpi文件夹中,这是我的图像存储的地方.我已经尝试制作图像9-patch,但这没有任何区别.如何使图像在高度和宽度上按比例缩放?
按钮因为LinearLayout设置为水平拉伸fill parent,并且每个按钮都button具有使它们伸展的重量.高度设置为wrap_content,并且没有任何内容.图像被设置为背景,这对于它的大小没有任何影响button.
最好将Buttons更改为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" />
Run Code Online (Sandbox Code Playgroud)