69

<bitmap />バックグラウンド ドローアブル XML として使用するときに、背景イメージをビューに合わせて縦横比を維持するにはどうすればよいですか? <bitmap>の値のどれもandroid:gravity、望ましい効果をもたらしません。

4

9 に答える 9

65

xmlファイル内でのみバックグラウンド属性を操作することは不可能です。2つのオプションがあります。

  1. プログラムでビットマップをカット/スケーリングし、 背景Bitmap.createScaledBitmap(Bitmap src, int dstWidth, int dstHeight, boolean filter)として設定します。View

  2. ImageView背景の代わりにそれを最初のレイアウトの要素として使用し、そのandroid:scaleType属性を指定します。

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
    
            android:src="@drawable/backgrnd"
            android:scaleType="centerCrop" />
    
        ...
    
        rest layout components here
    
        ...
    
    </RelativeLayout>
    
于 2012-03-27T14:49:24.260 に答える
3

もう 1 つの方法は、通常のイメージのパッチ 9 イメージを作成し、希望どおりに拡大縮小することです。

コーナーに9パッチドットを配置することで、コンテンツを中央に配置できます。これにより、比率が明らかに維持されます(画像の最も外側のエッジが繰り返し可能/透明であると仮定します)。

うまくいけば、あなたはアイデアを得る。

于 2012-09-12T20:49:52.017 に答える