0

为什么当我使用带有背景的Button时我的 Android 布局可以工作,但当我使用ImageButton时会中断?我已通读文档,无法弄清楚为什么它们呈现不同。我看到一个是 TextView,一个是 ImageView,但我认为 dp 是一个 dp,无论上下文如何。在这两种布局之间,我唯一改变的是“ImageButton”到“Button”和“src”到“background”。

工作布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:orientation="vertical"
    android:background="@drawable/background">

. . .

<Button 
    android:contentDescription="@string/login_button_facebook"
    android:layout_width="200dp"
    android:layout_height="45dp"
    android:background="@drawable/first_thought_menu_2_facebook"
    android:onClick="loginWithFacebook"        
    />

<Button 
    android:contentDescription="@string/login_button_email"
    android:layout_width="200dp"
    android:layout_height="45dp"
    android:background="@drawable/first_thought_menu_3_email"
    android:onClick="loginWithEmail"        
    />

<Button 
    android:contentDescription="@string/login_button_anonymous"
    android:layout_width="200dp"
    android:layout_height="45dp"
    android:background="@drawable/first_thought_menu_4_anonymous"
    android:onClick="loginWithAnonymous"        
    />            

. . .   

</LinearLayout>

工作布局图:

工作布局

破碎的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:orientation="vertical"
    android:background="@drawable/background">

. . .

<ImageButton 
    android:contentDescription="@string/login_button_facebook"
    android:layout_width="200dp"
    android:layout_height="45dp"
    android:src="@drawable/first_thought_menu_2_facebook"
    android:onClick="loginWithFacebook"        
    />

<ImageButton 
    android:contentDescription="@string/login_button_email"
    android:layout_width="200dp"
    android:layout_height="45dp"
    android:src="@drawable/first_thought_menu_3_email"
    android:onClick="loginWithEmail"        
    />

<ImageButton 
    android:contentDescription="@string/login_button_anonymous"
    android:layout_width="200dp"
    android:layout_height="45dp"
    android:src="@drawable/first_thought_menu_4_anonymous"
    android:onClick="loginWithAnonymous"        
    />          

. . .   

</LinearLayout> 

布局损坏的图片:

破碎的布局

4

1 回答 1

1

使用android:background而不是 src。

于 2012-09-25T23:52:54.750 回答