假设我有一个垂直LinearLayout
和多个TextView
,layout_height
设置为wrap_content
。
这样最后一个TextView会在底部剪切:
为每个layout_height="match_parent"
设置layout_weight="1"
和TextView
解决了这个问题:
不幸的是,这导致portrait layout
:
那么,有没有办法在屏幕上排列项目,以便:
提前多多感谢。
答案 0 :(得分:1)
这是您应该为不同配置使用不同布局资源的情况之一。例如,根据您的示例,您可以拥有layout-land
文件夹,以了解手机何时处于横向状态,并且该布局使用xml布局,其中所有TextViews
都有layout_weight="1"
。对于纵向(和默认布局),您可以在layout
文件夹中放置一个布局文件,例如layout-land
之后的TextViews
之后添加此元素的布局文件:
<View
android:layout_width="wrap_content"
android:layout_weight="3"
android:layout_height="0dp" />
这个空的View
将“吸收”一些空白区域,因此TextViews
之间没有很大差距。
不同屏幕的不同布局文件可以通过对不同尺寸(正常,大,非常大)的屏幕使用进一步细化的布局以及不同的方向(纵向与横向)进行改进。
当然,你可以编写自己的布局管理器来定位孩子TextViews
但这不容易做到。