2017-08-15 4 views
1

私は現在リストビュー用のリストセレクタを使用しており、レイヤリストを使用して作成しています。これは私のXMLコードです:Android DrawableがAPI <23のために伸びていて、API 23以降が正しく表示されています

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:drawable="@drawable/menu_arrow" 
    android:width="18dp" 
    android:height="36dp" 
    android:top="5dp"/> 

<item android:top="0dp" android:left="5dp" android:bottom="0dp" android:right="0dp"> 
    <shape android:shape="rectangle"> 
     <solid android:color="@android:color/transparent"/> 
    </shape> 
</item> 

私はアプリを構築する場合、それはAPI 23以上に細かい表示されます。

api 23

しかし、以下のAPIを22とするために、それは次のようになります。

api 22

私はこのポストShape drawable in layer-list rendered incorrectly for APIs below 23に出くわしたと属性がAPIのみ23の幅と高さの仕事と理解し、上記。だから私は、このようなサイズのタグの内側に幅と高さを追加:

<item android:drawable="@drawable/menu_arrow" 
    android:top="5dp"> 
    <size android:height="36dp" android:width="18dp"/> 
    </item> 

しかし、画像がまだ伸びているように見えます。すべてのバージョンでdrawableを一様に見せるには、api 22以下ではどのような属性が必要ですか?

+0

各タイプ –

+0

の場合はdrawable、drawable-v21、drawable-v23、Editを作成したり、https://stackoverflow.com/questions/35083002/android-item-size-in-layer-list/38608066#を参照してください。 38608066 –

+0

既に各タイプのXMLファイルがあります.API 22のコードはv21フォルダ内にあります – nexus

答えて

1

私は次のようにそれを解決するために管理:私は、API < 23推測

<item android:drawable ="@drawable/menu_arrow" 
    android:right="285dp" 
    android:top="5dp" 
    android:bottom="10dp"/> 

我々はボトム値、右、上を使用して描画可能なサイズを変更する必要があるとAPI> 23のために、私たちは幅を使用することができますし、高さ。

関連する問題