2015-12-14 31 views
0

我在ImageButton中有一個可繪製的問題。ImageButton圖像在添加背景屬性時縮放,而使用縮放類型定位圖像

我想對齊圖像按鈕右側的白色箭頭(見下圖)。通過使用scaleType =「fitEnd」,我成功地在不使用背景顏色的情況下這樣做。

Button - correct arrow, wrong background color

  <ImageButton 
      android:layout_width="250dp" 
      android:layout_height="40dp" 
      android:id="@+id/imageButton7" 
      android:layout_gravity="center_horizontal" 
      android:src="@drawable/arrowUp" 
      android:scaleType="fitEnd" /> 

但是,嘗試添加背景顏色時,箭頭圖像尺寸可擴展至,所以它看起來並不像預期的(在下面的圖片所示)。

Button - wrong arrow size, correct background color

  <ImageButton 
      android:layout_width="250dp" 
      android:layout_height="40dp" 
      android:id="@+id/imageButton7" 
      android:layout_gravity="center_horizontal" 
      android:src="@drawable/arrowUp" 
      android:scaleType="fitEnd" 
      android:background="#054365" /> 

有沒有辦法得到適當的箭頭大小&定位,同時還改變的ImageButton的背景色,而使用scaleType =「fitEnd」呢,還是必須使用另一種方法?

+0

您是否嘗試過創建'xml'繪圖資源來使用按鈕的背景而不是直接使用顏色? – Gonzalo

+0

我已經考慮過了。我只是想確保沒有一種方法可以首先以編程方式執行此操作。 –

+0

嘗試android:backgroundTint =「#054365」而不是android:background =「#054365」 –

回答

0
<ImageButton 
    android:layout_width="match_parent" 
    android:layout_height="100dp" 
    android:src="Your image path" 
    android:scaleType="fitEnd" 
    android:backgroundTint="#FFFFFF"/> 

的 「backgroundTint」 屬性將工作API級別21及更高版本。如果低於API級別21,應用程序會簡單地忽略該屬性,並且不是錯誤。