簡體   English   中英

在布局方面支持不同的屏幕尺寸和密度

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

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