2013-07-27 27 views
0

因此,我知道您可以为不同的屏幕和方向定义不同的布局。我所面临的问题是抓住哪些时候会被使用。
我正在考虑三个设备(作为一个例子):
Android如何确定要使用哪种布局

  • Google Nexus 7
  • Samsung Galaxy S3
  • 一些非常小的手机。
  • 一开始,就在res/layout一个main.xml这是肖像模式中使用的默认布局。然后,您可以在res/layout-land中定义main.xml这是手机处于横向模式时要使用的默认布局。
    这些是将用于三星Galaxy S3和Nexus 7和小型手机的两种布局,因为我没有定义任何特定的东西。

    现在,我要定义布局,专为小手机肖像模式,除了上面提到的那些。它将根据res\layout-small\main.xml

    我的问题是:如何在横向模式下选择小屏幕的布局?

    +1

    您需要的一切 - http://developer.android.com/guide/practices/screens_support.html – Simon

    +0

    [应用程序骨架支持多个屏幕]的可能重复(http://stackoverflow.com/questions/12242111/application -skeleton到支撑多屏) – Simon

    回答

    0

    @Simon的链接非常有用。除此之外,Android的Supporting Different Screen Sizes页面上的示例应用程序NewsReader.zip将有所帮助。如果您阅读Use Orientation Qualifiers部分,它会告诉您您想要做什么。

    您可以在res/layout/目录中的XML文件中定义所有布局。为了将各个布局分配给各种屏幕配置,应用程序使用布局别名将它们与每个配置进行匹配。例如。对于小屏幕人像一个文件:

    res/values-sw600dp-port/layouts.xml

    其内容可以是这样的:

    <resources> 
        <item name="main_layout" type="layout">@layout/small_screen_portrait</item> 
        <bool name="has_two_panes">false</bool> 
    </resources> 
    

    你可以看到示例应用程序的更多。希望这可以帮助。