我想根据Landscape mode
和portrait mode
调整布局。
在我的7'平板电脑设备中portrait mode
太小而Landscape mode
非常大。由于小肖像模式,列表项和一些文本混合像按钮
大小减少,一个文本越过另一个,等等。
因此,对于相同的视图布局,我希望根据模式进行不同的设置。
例如,考虑One Layout over the Top of Other的这篇SO帖子。我希望这个场景适用于portrait mode
。但是对于Landscape mode
,我不希望一个视图的重叠位于其他视图之上。相反,我想在另一边看一个视图。
我的不同模式的xml布局文件 -
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/news_fragment"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent" />
<FrameLayout
android:id="@+id/channel_fragment"
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="match_parent" />
</LinearLayout>
这个问题似乎对landscape mode
有好处,但是当涉及到纵向模式时,我需要news_fragment
重叠channel_fragment
。
考虑到布局文件是如何实现此行为的。或者我是否也必须为肖像创建一个新的?
答案 0 :(得分:2)
您只需创建2个不同的布局文件。您应该阅读有关此主题的developer guides。
基本上你制作2个res / layout文件夹:
res/layout
和
res/layout-land
然后,您将横向布局添加到land
文件夹,将纵向版本添加到另一个。
答案 1 :(得分:0)
所以根据情景:
我保留了三个布局文件夹即..
所有三个布局文件都包含相应显示的自己的容器。
诀窍是:
由于layout-large-land
的activity_main负责平板电脑设备的横向定位,因此layout-large
的activity_main默认为
肖像模式。
因此,对于移动设备视图,对于不同方向的平板电脑 - 上述情况最佳 并且工作得很好!