[英]Supporting different screen sizes and densities in regards to layout
我想知道如何讓我的應用程序支持有關布局的不同屏幕尺寸和密度,包括平板電腦。 我在SO上找到了不同的答案,但是找不到能最好地解釋該問題的答案。
我已經將其包含在清單中:
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
根據此答案,我應該創建多個布局文件夾,例如small,large,xlarge。
根據文檔,我應該創建多個布局並使用大小限定符,例如sw<N>dp
。
如果我的應用程序需要同時支持電話和Tablt,哪種方法是最好的解決方案?
附加問題:關於上述問題,我有一個帶有物品清單的回收站視圖。 如果屏幕是縱向屏幕,則有一個列表;如果屏幕是橫向屏幕,則有網格。
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
LinearLayoutManager manager = new LinearLayoutManager(getContext());
mBinder.rvHistoryList.setLayoutManager(manager);
} else if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
GridLayoutManager manager = new GridLayoutManager(getContext(), 2);
mBinder.rvHistoryList.setLayoutManager(manager);
}
但是,如果該應用程序在平板電腦上以縱向模式使用,我希望這些項目以連續2的順序排列在網格中;如果該應用程序在平板電腦上以橫向模式使用,我希望這些項目位於一個網格連續按4排序。 我該如何實現?
創建幾個不同大小的布局是一種古老而令人困惑的方法。
您可以為每個布局和組件設置權重。
這是一個很好的入門教程。
http://www.101apps.co.za/index.php/articles/using-android-s-layout-weight-attribute.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.