0

我正在使用图像作为按钮的背景。

像这样 。

   <Button
        android:id="@+id/invitefrnd_mail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_weight="1"
        android:background="@drawable/mailreport_button" />

当我在移动设备中看到背景可绘制图像时,它会被拉伸,而如果我使用 LinearLayout 而不是按钮,则图像不会拉伸

像这样

   <LinearLayout
        android:id="@+id/invitefrnd_mail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_weight="1"
        android:background="@drawable/mailreport_button" />

任何人都可以解释这个原因吗?

使用 LinearLayout 完成布局.... 对于按钮,将 LinearLayout 替换为按钮

<LinearLayout
    android:id="@+id/buttons_top_invite"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:baselineAligned="false"
    android:orientation="horizontal"
    android:weightSum="2" >

    <LinearLayout
        android:id="@+id/invitefrnd_contacts"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:layout_weight="1"
        android:background="@drawable/contactsinvite_button" />

    <LinearLayout
        android:id="@+id/invitefrnd_facebook"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:layout_weight="1"
        android:background="@drawable/facebookinvite_button" />
</LinearLayout>
4

1 回答 1

0

如果它工作正常,你甚至可以使用 Linearlayout。使 onclick 监听器成为您的线性布局。

<LinearLayout     
    android:id="@+id/buttons_top_invite"
    android:layout_width="match_parent"   onClick="firstButton"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:baselineAligned="false"
    android:orientation="horizontal"
    android:weightSum="2" >

    <LinearLayout
        android:id="@+id/invitefrnd_contacts"
        android:layout_width="wrap_content"  onClick="secondbutton"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:layout_weight="1"
        android:background="@drawable/contactsinvite_button" />

    <LinearLayout
        android:id="@+id/invitefrnd_facebook"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:layout_weight="1"
        android:background="@drawable/facebookinvite_button" />
</LinearLayout>

在您的 Java 代码中:

public void firstbutton(View v) {
        //your first button 
    }

    public void secondbutton(View v){
        //your second button 
    }
于 2013-10-16T12:34:49.980 回答