我刚刚进入Android开发阶段并对布局提出了几个问题。
我有一个RelativeLayout作为我的根元素,在里面我按顺序有以下项目:
TextView,TextView,Button,Button,Button,TextView
当我以纵向查看布局/活动时,一切都很好。然而,当我将手机切换到横向时,设计"串联起来"并且第一个Button与第二个TextView重叠,我只能部分地看到最后一个Button的背景颜色,最后一个TextView文本落在该Button上。
没有滚动条或查看整个显示的方法。当屏幕旋转时,有没有办法让我的布局保持不变?我知道我不会在横向方向上容纳这6个元素,但我认为布局只是可以滚动来查看其余的元素?
答案 0 :(得分:2)
一个简单的技巧是将整个RelativeLayout包装在ScrollView(http://developer.android.com/reference/android/widget/ScrollView.html)中。
请记住,在这种情况下,Scrollview只能包含一个布局元素,因为你已经有了一个根相对布局,这很好!
当屏幕包含内容时,我通常将整个布局或其中很大一部分放在ScrollView中,不仅可以帮助用户在将设备切换到纵向模式时查看内容,还可以帮助用户使用设备较小的屏幕会看到您的所有内容
您可以使用Eclipse或Android Studio上的布局编辑器轻松查看外观。
在Android Studio上,只需打开布局文件并切换到设计选项卡,然后在上方有一个图标可以更改方向。
答案 1 :(得分:0)
LinearLayout
可以保证视图位于彼此之下,而不是重叠。如果您没有指定彼此相关的每个视图位置,则RelativeLayout
不会这样做。
如果不适合屏幕,Android默认情况下不会使您的布局可滚动。您必须将布局包装在ScrollView
中。
正如所指出的,您可以为不同的屏幕尺寸创建不同的布局。您也可以使用ScrollView
创建一个,当所有内容都适合屏幕时(纵向模式),它将没有任何区别。