基本的に、アプリケーションはさまざまなデバイスをサポートする必要があります。これらのガイドを使用しています: mult.screen.supp、screen.stat。
ほとんどのアクティビティでタブレットとハンドセットのデザインは似ています。私が困惑しているのは、密度グループが異なる解像度を提供するため、ドローアブルが代用できないことを知って、両方のバージョンにドローアブルを提供する方法です。
たとえば、xlarge(タブレット) - mdpi と通常 (ハンドセット) - mdpi を比較します。
- 通常画面、中密度 (160)、mdpi: 320x480
- 特大画面、中密度 (160)、mdpi: 1280x800
したがって、最初のグループに foo.png(50px x 50px) を作成し、同じレイアウトをテストすると
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/foo" />
mdpi フォルダーで同じ画像を検索する 2 番目のグループでは、画像が小さく見えます。
私は解決策を持っていますが、私がそれを正しく行っているかどうかはわかりません:
- 画面サイズ構成ごとに attr.xml を作成します。
- 解像度 h_foo、たとえば 50x50 に
<item name="foo" type="drawable">@drawable/h_foo</item>
適した画像を参照する handset-resources フォルダーに作成します。normal(handset) - mdpi
- 解像度 t_foo、たとえば 150x150 に
<item name="foo" type="drawable">@drawable/t_foo</item>
適した画像を参照する、tablet-resources フォルダーに作成します。xlarge(tablet) - mdpi
このアプローチが適切かどうか、また他にどのような解決策があるかを説明していただけますか?