我在编写Android游戏。在级别评选活动的布局文件,我想布局水平按钮(他们实际上是ImageView
S)是这样的:为什么我的TextView下的ImageView没有显示
x x x
x x x
每个级别按钮有TextView
,与该级别的名称作为文本,下面它(我们将这两种观点一起称为“水平选择”)。我用了很多LinearLayout
来做到这一点。下面是一个级别的选择代码:
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal"
android:layout_weight="1">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/angles"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/angles_level"
android:textSize="@dimen/level_text_size"/>
</LinearLayout>
正如你所看到的,这两种观点的高度和宽度都是wrap_content
。但是,当我看设计师,文本视图不显示件事。当我在组件树中选择文本视图,它显示了文本的看法是:
附:图片没有显示所有六个级别,因为我还没有完成。
正如你所看到的,文本视图正好在底部!当我选择ImageView
时,它显示它占据了其父项的所有空间!
我不知道为什么会这样,我的形象肯定是一个正方形!你能解释为什么会发生这种情况吗?我该如何解决?
如果您需要我的整个布局代码,请随时在评论中告诉我。
您需要使用RelativeLayout而不是LinearLayout。 LinearLayout不允许2个或更多对象占据相同的空间。如果你想要发生这种情况,你需要使用RelativeLayout。 – Rachit
平面布局?为什么不是相对布局,它给了你更多的灵活选项 –
使用RelativeLayout,并将ImageView的顶部对齐到TextView的顶部,你会看到两个视图占用相同的空间。 – Rachit