2013-06-13 48 views
1

我想根据Landscape modeportrait mode调整布局。肖像模式和风景模式视图显示调整与手机尺寸

在我的7'平板设备中,portrait mode太小,Landscape mode相当大。由于小人像模式,列表项目和一些文本混合像按钮 大小得到减少,一个文本越过另一个,等等。

因此,对于相同的视图布局,我想根据不同的设置模式。

例如考虑这个SO帖子One Layout over the Top of Other。我想要这个场景的portrait mode。但是对于Landscape mode,我不希望重叠其中一个视图。相反,我想在另一边看到一种观点。针对不同modes-

<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> 

问题

我的XML布局文件,这似乎有利于landscape mode但是当涉及到肖像模式,我需要news_fragment得到重叠在channel_fragment

如何实现这种行为考虑布局文件是相同的。或者我还必须为肖像创建一个新的?

回答

2

您只需创建2个不同的布局文件。您应该阅读关于此主题的developer guides

基本上你做2个RES /布局文件夹: res/layoutres/layout-land

然后你景观添加布局到land文件夹和肖像版本到另一个。

+0

其实我有2个res /布局文件:'res/layout/activity_main'和'res/layout-large/activity_main'。但前者用于平板设备,后者用于移动设备。我还需要创建2个以上 - 1个用于纵向,1个用于横向?上述有问题的xml适用于平板设备。 –

+0

@SaurabhJain,是的,但是你可以同时拥有多个选项,比如:res/layout-large-land(有一个顺序,不确定这是否正确,但你可以在开发者指南上阅读它) – Warpzit

+0

起初这很让人困惑。你知道平板设备在纵向模式下布局文件的名称吗?还是你有任何文档要看?它是'res/layout-large-port'吗? –

0

所以根据场景:

我不停地从三种布局文件夹,即..

  • RES /布局/ activity_main(用于移动设备)
  • RES /布局大/ activity_main(用于与人像模式平板装置)
  • RES /布局大脊/ activity_main(用于与横向模式平板装置)

所有这三个布局文件都包含根据需要显示的相应容器。

的诀窍是:

由于layout-large-land的activity_main正在平板设备的横向方向的照顾,因此的layout-large将默认的activity_main将是 肖像模式。

因此对于移动设备视图,对于平板电脑不同的方向 - 上述场景最好是 ,并且工作得很好!

相关问题