2016-07-27 32 views
12

層列表大小我有一個層列表不正確的項目在前期棒棒糖

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:right="2dp" android:left="2dp" android:bottom="2dp" android:top="2dp"> 
    <bitmap 
     android:gravity="center" 
     android:src="@drawable/ic_menu_alert"/> 
</item> 

<item android:height="10dp" android:width="10dp" android:gravity="right|top"> 
    <shape android:shape="oval"> 
     <size android:height="10dp" android:width="10dp"/> 
     <solid android:color="@color/navigation_drawer_notification_red_color"/> 
    </shape> 
</item> 

</layer-list> 

這表明這一形象

image

在棒棒糖及以上的一切都很好,但在預 - 棒糖紅圈失去所有尺寸和填充屬性和圖像看起來像這樣

enter image description here

我正在尋找解決方案約3天,什麼都沒發現。我正在嘗試製作自己的工具欄佈局,並將其設置爲imagebuuton scaleType =「centerInside」,但它沒有幫助。有誰能幫助解決這個問題嗎?

在此先感謝!

+1

嗨,你找到一個解決方案嗎? –

+0

嗨,任何解決方案?我也面臨這個問題。 – Nizam

+0

@Nizam不幸的是沒有( –

回答

3

其中最好不要提heightwidth屬性layer-list。當你使用它作爲可繪製的時候,比如說ImageView(,ImageView的寬度和高度將會覆蓋項目/形狀中提到的寬度和高度)。

您可以使用top, bottom, left, right將您的項目排列在圖層列表中。

注:

sample.xml中

高度和項的width屬性只從API 23.

這裏是一個工作示例(Android中7.0和Android 4.4測試)的支持

<layer-list 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:id="@+id/menu" 
     android:left="16dp" 
     android:right="16dp" 
     android:gravity="center"> 
     <bitmap 
      android:src="@drawable/menu_icon" /> 
    </item> 

    <item 
     android:top="8dp" 
     android:left="56dp" 
     android:right="24dp" 
     android:bottom="42dp"> 
     <shape android:shape="oval"> 
      <solid android:color="@android:color/holo_red_dark"/> 
     </shape> 
    </item> 

</layer-list> 

的main.xml

<ImageView 
     android:layout_width="72dp" 
     android:layout_height="72dp" 
     android:src="@drawable/sample" 
     android:scaleType="fitCenter"/> 

您還可以在ImageView的使用wrap_content身高&寬度。

enter image description here

+0

謝謝你的回答:) –

1

所以我想出了一個可行的解決方案。我有一個可在/drawable/drawable-v21中繪製的圖層列表。 /drawable-v21中可繪製的圖層列表包含一個矢量繪圖。 /drawable中可繪製的圖層列表包含一個.png。它有點違背了使用向量繪圖的目的,但我必須這樣做才能使它在這種情況下工作。