我正在尝试创建一个战舰布局,你不仅可以拥有自己的战场,还可以在同一个屏幕上拥有敌人的战场。我试了很长时间以某种方式让它与tablelayout一起工作。事情是我开始怀疑我甚至使用正确的布局来满足我的特定需求。这是一个大学项目,所以我的主要目的是实际学到一些东西。 (在我的例子中,如何处理xml文件,因为我以前从未使用过它们) 我对当前布局的问题。 http://imgur.com/cz8r1H3
1)它不是相对的,意味着根据显示器你有一个大或小的战场。
2)我添加了图像按钮,如果添加图片,它们的高度效果很好,它们的宽度会爆炸到行的末尾,因为它看起来不是正方形,而是行。
3)正方形实际上不是正方形。
4)貌似我无法修复多个列和行?
我需要的是一个可定制的布局,我可以设置高度,宽度,放置图像按钮,这是相对于尺寸的,当我在按钮内放置东西时不会爆炸。
现在我知道如何使用谷歌,适配器和充气是我读过几次的术语。 但既然我和我的同事都不知道要去哪个方向,我很乐意问你。 我应该尝试,阅读和做什么来解决我目前的问题?
答案 0 :(得分:0)
您是否尝试过GridView?
根据您的要求,
(1):GridView可以动态地改变代码列数(行数将根据适配器的项目数自动定义)。因此,如果您测量屏幕大小和每个ImageButton,您可以计算适当的行和列。
myGridView.setNumColumns(3);
(2):可以使用android:layout_width="match_parent"
选项将width扩展到行的末尾。在附图中,您可以通过以下代码实现。
<!-- root -->
<LinearLayout android:layout_width="match_parent" android:layout_width="wrap_content">
<!-- left side -->
<GridView android:layout_width="match_parent" android:layout_width="wrap_content" android:layout_weight="1" />
<!-- right side -->
<GridView android:layout_width="match_parent" android:layout_width="wrap_content" android:layout_weight="1" />
</LinearLayout>
(3):我建议您以编程方式调整布局高度。或者,只需在每个layout_widht="wrap_content"
中使用GridLayout
,然后调整ImageButton
高度的填充和边距值。它会给你更直观的排列结果。一般来说,按像素计算并输入准确值需要很多反复试验但很难给出满意的结果。如果您不想显示更改为用户的布局,则可以切换每个GridLayout的可见性INVISIBLE
和VISIBLE
。
(4):GridView
会帮助你。它可以接受adapter
。