-1

基本的に、アプリケーションはさまざまなデバイスをサポートする必要があります。これらのガイドを使用しています: mult.screen.suppscreen.stat

ほとんどのアクティビティでタブレットとハンドセットのデザインは似ています。私が困惑しているのは、密度グループが異なる解像度を提供するため、ドローアブルが代用できないことを知って、両方のバージョンにドローアブルを提供する方法です。

たとえば、xlarge(タブレット) - mdpi と通常 (ハンドセット) - mdpi を比較します。

  1. 通常画面、中密度 (160)、mdpi: 320x480
  2. 特大画面、中密度 (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

このアプローチが適切かどうか、また他にどのような解決策があるかを説明していただけますか?

4

2 に答える 2

1

重複を避けるために、すべての画像を drawable-nodpi フォルダーに保存し、ファイル名にサイズのサフィックスを付けます (例: image-small.png、image-medium.png など)。次に、各アイテムのデバイス固有 (drawable-normal-mdpi、drawable-large-mdpi) フォルダーに XML 定義があります。例えば:

drawable-normal-mdpi/image.xml:

<bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/image-medium" />

drawable-large-mdpi/image.xml:

<bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/image-large" />

この機能を推奨していない Google エンジニア (現在は見つかりません) からのコメントをここで見たことに注意してください。それに固執します。

于 2013-01-07T10:08:57.010 に答える
1

同じリソース名を保持し、別のフォルダーを使用して実際の png を配置する方が適切です。

drawable-mdpi        -> used for normal screens
drawable-large-mdpi  -> used for large screens

使用可能な構成修飾子については、リソースの提供を参照してください。

于 2013-01-07T09:47:43.477 に答える