1

私はアプリを書いていますが、自分のアクティビティの1つに背景を持たせたいです。

複数の解像度のサポートなどに関するAndroidドキュメントを読みましたが、デザイナーから壁紙のサイズを尋ねられました。すべての画面サイズで低、通常、高dpiの画像をたくさん表示したくありません。

これらすべての画面でグラフィックの背景を埋める素敵な画面を取得するための最もスペース効率の良い方法は何でしょうか?

Androidは素晴らしいですが、すべてにすべてのサイズの画像が必要なので、巨大なアプリになってしまうことはしたくありません。

4

2 に答える 2

1

1つのアプローチは、密度を設計し、アイコンのアイコン設計ガイドラインと、背景画像の「複数画面のサポート」ガイドの「画面の範囲」領域で指定された寸法を使用することです。

背景画像については、ステータスバーの寸法を考慮に入れてください。

リソースを適切なdrawable-mdpi、drawable-hdpi、drawable-ldpiフォルダーに配置すると、適切に使用されます。

于 2010-06-25T16:40:45.583 に答える
0

高解像度の風景の背景を1つだけ持ち、表示に「ストレッチ」戦略を使用するのはどうでしょうか。

    mBackgroundGraphic = BitmapFactory.decodeResource(getResources(), R.drawable.background);
    mBackgroundGraphic = getResizedBitmap(mBackgroundGraphic);

public Bitmap getResizedBitmap(Bitmap bm) {
    int width = bm.getWidth();
    int height = bm.getHeight();
    int displayWidth = mDisplay.getWidth();
    int displayHeight = mDisplay.getHeight();
    float scaleWidth = ((float) displayWidth) / width;
    float scaleHeight = ((float) displayHeight) / height;

    // Create a matrix for the manipulation
    Matrix matrix = new Matrix();

    // Resize the bit map
    matrix.postScale(scaleWidth, scaleHeight);

    // Return the new stretched Bitmap
    return Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false);
}
于 2014-12-31T14:51:39.393 に答える