Android - 按钮缩放与背景图像

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,但这没有任何区别.如何使图像在高度和宽度上按比例缩放?

nmw*_*nmw 6

按钮因为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)