我的目标是显示几个按钮,然后显示PNG图像。问题是图像根本不显示。如果我取出所有按钮,则会显示图像。这个xml文件究竟出了什么问题?
<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 :(得分:2)
LinearLayout将布置每个孩子,直到它用完空间。如果前三个孩子占用的空间至少与屏幕宽度一样多,那么ImageView将不在屏幕上(我说宽度因为LinearLayouts默认是水平的 - 如果你想要它是垂直的,你必须包括{ {1}}属性)。
您需要指定布局权重以为每个chid提供可用空间的特定部分,或者您需要选择更适合您需要的其他布局。
答案 1 :(得分:0)
将“android:orientation”的linearlayout设置为水平或垂直。这可能会解决它。
答案 2 :(得分:0)
没有错。当您对单个视图使用“wrap_content”时,您可能正在跨越布局边界。在这种情况下,您可以设置布局权重以适应所有情况。