簡體   English   中英

我想為不同的屏幕尺寸制作 Android 應用程序響應布局

[英]I want to make Android app resposive layout for diffrent-diffrent screen size

首先創建xml文件

默認情況下:-activity_main

小型手機:-activity_main(sw360)

大手機:-activity_main(sw480)

超大手機/平板電腦:-activity_main(sw600)

我想遵循這個條件但是有些錯誤??????

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Configuration config = getResources().getConfiguration();
    if (config.smallestScreenWidthDp >= 320 && config.smallestScreenWidthDp <= 480) {
        setContentView(R.layout.activity_main(sw320));
    } else if (config.smallestScreenWidthDp >= 481 && config.smallestScreenWidthDp <= 600) {
        setContentView(R.layout.activity_main(sw480));
    } else(config.smallestScreenWidthDp >= 601{
        setContentView(R.layout.activity_main(sw600));
    } 
  }

看這張圖片來清除

您不必對其進行編程,當您使用正確的文件夾和命名結構時,系統將確定正確的布局或使用默認布局(位於layout文件夾中)。

請參閱此鏈接,了解有關文件夾結構的更多信息。 例如:

res/layout/main_activity.xml                # For handsets
res/layout-land/main_activity.xml           # For handsets in landscape
res/layout-sw600dp/main_activity.xml        # For 7” tablets
res/layout-sw600dp-land/main_activity.xml   # For 7” tablets in landscape

因此,在您的情況下,它將是:

res/layout/activity_main.xml                # default (smaller than 360dp available width)
res/layout-sw360dp/activity_main.xml        # Small phones (360dp wide and bigger)
res/layout-sw480dp/activity_main.xml        # Large phones (480dp wide and bigger)
res/layout-sw600dp/activity_main.xml        # XLarge phones (600dp wide and bigger)

然后您的 Activity 可以使用此 OnCreate 方法:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

使用 wrap content 和 match-parent 而不是為視圖提供硬維度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM