android按钮背景得到拉伸而LinearLayout没有

时间:2013-10-16 12:03:32

标签: android android-layout

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

喜欢这个。

   <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>

1 个答案:

答案 0 :(得分:0)

如果工作正常,你甚至可以使用Linearlayout。为你的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 
    }