0

アプリケーションには、テキストがなく、背景のみが描画可能なボタンがいくつかあります。drawable-?dpiドローアブルが適切なフォルダから取得され、サイズ変更せずに表示されるようにする必要があります。最初の部分は機能し、適切な画像ファイルが選択されます。ただし、ボタンの属性layout_heightや属性に関係なく、サイズは変更されます。layout_width私の質問は、これを打ち負かし、ドローアブルを画面のピクセルごとにマップする方法です。

サイズを変更しないようにする唯一の方法は、で幅と高さを指定するpxことです。これは、まさに私がやりたくないことです。そして、私がそれをしたくない理由は、異なる密度に対して描画可能なサイズをdimensions指定できたファイルが、密度ではなく画面サイズによって区別されるためです。px

私のレイアウトは次のようになります。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" xmlns:tools="http://schemas.android.com/tools">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="3dp"
            android:paddingTop="3dp" >

            <Button
                android:id="@+id/btn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/btn" />

        </RelativeLayout>
    </LinearLayout>

</ScrollView>
4

1 に答える 1

1

dpi フォルダーの正確な画像サイズを使用する場合は、layout_height と layout_width の両方に wrap_content を使用できます。画像が定義されたとおりの正確なサイズになります。

密度や解像度などが異なる多くの異なる電話があるため、これは通常はお勧めしません。

非テキスト画像を使用するもう 1 つの方法は、9 パッチを使用して、必要に応じて拡大することです。

お役に立てれば!

于 2013-03-18T15:23:35.990 に答える