LayerList
のVectorDrawable
をベクターのスケーリングなしで使用しようとしています。例えば:スケーリングせずにレイヤーリスト内のベクター描画可能領域を中央に配置する方法
<layer-list>
<item android:drawable="@color/grid_item_activated"/>
<item android:gravity="center" android:drawable="@drawable/ic_check_white_48dp"/>
</layer-list>
として定義描画可能ic_check_white_48dp
ID:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/>
</vector>
は、所望の効果は、スケーリングなしで、層描画可能でセンタリングされるチェックアイコンのためのものです。問題は、上のレイヤーリストは、レイヤーのサイズに合わせてチェックアイコンを拡大/縮小することです。
私は各濃度のためにPNG画像とベクトル描画可能に置き換え、そのように層-リストを変更する場合、私はは所望の効果を生み出すことができます。
<layer-list>
<item android:drawable="@color/grid_item_activated"/>
<item>
<bitmap android:gravity="center" android:src="@drawable/ic_check_white_48dp"/>
</item>
</layer-list>
は私がVectorDrawable
を使用してこれを行うことができます方法はあります?
これはAPI 21/22のバグであるようです。私はちょうどAPI 23デバイスでテストしたところ、ベクトル描画可能なものが正しく中央に配置されていました。 – ashughes
あなた自身の質問に答えてそれを受け入れるべきです。そうすれば、それはもっと目に見えて、問題は答えられないようには現れない。 –
API 21/22で何をすべきかについての回答がまだないため、私は質問に答えていません。私の一時的な解決策は、ベクターの代わりにPNGを使用することでした。まだベクトルを動作させる方法を見つけることを願っています。 – ashughes