2013-07-25 3 views
1

Моя цель - отобразить пару кнопок, а затем изображение PNG. Проблема в том, что изображение вообще не отображается. Если я вытащу все кнопки, появится изображение. Что именно не так с этим XML-файлом?ImageView не отображается в 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:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:adjustViewBounds="true" 
    tools:context=".MainActivity" > 



    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/option1" 
     android:onClick="sendMessage" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/OR" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/option2" 
     android:onClick="sendMessage" /> 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:contentDescription="@string/Pic" 
     android:src="@drawable/soup" /> 

</LinearLayout> 
+0

По умолчанию ориентация Linearlayout горизонтальна. Сделайте его вертикальным. – Geros

ответ

2

LinearLayout выложит каждого ребенка, пока не закончится свободное пространство. ImageView не будет отображаться на экране, если первые три ребенка занимают как минимум столько же места, сколько ширина экрана (я говорю ширину, потому что LinearLayouts горизонтальны по умолчанию - если вы намеревались вертикально, вы должны включить android:orientation="vertical" атрибут).

Вам либо нужно указать вес макета, чтобы дать каждому чиду определенную часть доступного пространства, либо вам нужно выбрать другой макет, который лучше соответствует вашим потребностям.

0

Настройте линейную линейку с «андроид: ориентация» на горизонтальную или вертикальную. Это может исправить.

0

Нет ничего плохого. Поскольку вы используете «wrap_content» для отдельных просмотров, вы, вероятно, пересекаете границы макета. Вы можете установить вес макета в этом случае, чтобы соответствовать всем.

Смежные вопросы