编辑:其实这比我想象的更混乱.以下布局简化.实际上,我在3.0之前的设备上使用了兼容性层的片段.
我使用层次查看器来检查发生了什么,并发现一个android.support.v4.app.NoSaveStateFrameLayout被添加到我的布局中,并且该布局的layout_height设置为wrap_content.这似乎是导致我的问题,但我还没有想出如何解决它.
具体来说,为什么这不工作? layout_gravity不应该放在底部吗?
<linearLayout androID:orIEntation="vertical" androID:layout_wIDth="fill_parent" androID:layout_height="fill_parent"> ... stuff here ... <linearLayout androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:layout_gravity="bottom" androID:orIEntation="horizontal"> ... more stuff here ... </linearLayout></linearLayout>
将layout_height更改为fill_parent或设置layout_weight的BTW似乎也不起作用.我只是想更好地了解发生了什么,因为显然我错过了一些重要的事情.谢谢.
解决方法 首先很好的问题.在这样的情况下,AndroID的行为我们可以说奇怪.
如果您选择了您的父线性布局的方向水平,那么您可以通过设置其layoug_gravity = bottom来将其子组件设置在底部.假设您在该水平线性布局中添加了2个文本视图,而第二个textvIEw的layout_gravity是底部,那么它将设置为底部,但它的工作原理就像在其他列的底部设置为第一个文本视图.注意:当它的父线性布局是水平的,但你看不到它的结果时,可以设置textvIEw的layout_gravity =“left”或“right”.
相反,如果您选择了父线性布局的垂直方向,则可以使用layout_gravity将其子组件设置为左右.但是第二个textvIEw将显示在你可以说下一行的左或右重力,你设置.注意,当它的线性布局是垂直的但你看不到它的结果时,可以设置textvIEw的layout_gravity =“top”或“bottom”.
尝试制作样例xml设计,如上所述,以便您得到更好的主意.
奇怪但真实!尝试了解这个行为. 总结
以上是内存溢出为你收集整理的android – 使用layout_gravity =“bottom”放置在LinearLayout的底部全部内容,希望文章能够帮你解决android – 使用layout_gravity =“bottom”放置在LinearLayout的底部所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)