[英]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.