2013-07-27 68 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> 
    

    你可以看到示例應用程序的更多。希望這可以幫助。