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