レイアウトに関するタブレットを含むさまざまな画面サイズと密度をアプリでサポートする方法を知りたいと思います。私は別の答えを見つけましたが、この問題を最もよく説明するものは見つかりません。レイアウトに関するさまざまな画面サイズと密度をサポートする
私はすでに私のマニフェストにこれを含めました:
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
をthis答えによると、私はそのような小さな、大きな、XLARGEなど、複数のレイアウトフォルダを作成する必要があります。
documentationによれば、複数のレイアウトを作成し、sw<N>dp
などのサイズ修飾子を使用する必要があります。
私のアプリが携帯電話とタブレットの両方をサポートする必要がある場合は、どちらが最善のソリューションですか?
その他の質問: 上記の質問と関連して、私はアイテムのリストを持つリサイクルビューを持っています。画面が縦長の場合はリストが表示され、画面が横長の場合はグリッドが表示されます。アプリケーションがポートレートモードでタブレットで使用される場合
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つ並んでいます。どうすればこれを達成できますか?
* should *と* can *には違いがあります。あなたは本当に1つ以上のメインレイアウトが必要ですか?タブレットと携帯電話の両方をサポートしたい場合は、3〜4のレイアウトが必要ですか? 2倍の縦横比と2倍の横幅ですか?絶対にそうでなければ画面密度を目標にする必要はありません。 –
さて、携帯電話とタブレットの両方をサポートする必要があります。 2倍のポートレイトと2倍のランドスケープレイアウトを提案することでどのように達成できますか? – Esteban
res/layoutはポートレートで、res/layout-landはランドスケープです。 'sw dp'フォルダが必要な場合は –