2013-04-16 34 views
2

我想在屏幕頂部創建四個自定義按鈕(如iOS中的Roundedrects)。具有背景色的自定義按鈕

使用具有形狀標籤的自定義xml,我可以得到它。

Custom.xml:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle"> 
<solid android:color="#F9FAFC" /> 
<corners android:radius = "20dp"/> 
</shape> 

我使用它作爲:

android:background = "@drawable/custom" 

但我只得到了顏色(灰色)設置爲自定義XML爲所有的按鈕,這不應該。

我想爲該自定義按鈕設置不同的十六進制(#FF0000 ...)顏色。經過對該網站的大量研究,我認爲提出問題會更好。

你們中的任何一個人都可以指點鏈接或者請幫我一些代碼,如何達到以上要求。

請注意:我不需要按鈕的三種狀態爲按下,聚焦,禁用。我已經有四個方形按鈕。現在我想創建它們作爲Rounded Rect形狀,使它看起來很有吸引力。至於這種情況,我無法在4個按鈕的可繪製文件夾中創建4個CUSTOM文件。因爲將來我的要求可能會擴展到一些8-10按鈕甚至更多。*

謝謝。

+0

如果u要創建四個不同的按鈕,不同的色彩營造出4種不同的XML用自己的顏色代碼 –

+0

你確定嗎?我的意思是如果我有10個按鈕或更多,你會建議這個嗎?有沒有其他的方式? –

+0

如果你想有10個按鈕,每個按鈕有自己的顏色和形狀,那麼你必須。但我不確定你可以等到你從別人那裏得到答案 –

回答

1

您需要使用商品標籤。這裏是一個包含按鈕狀態,純色和漸變色,筆畫,填充和圓角半徑的示例。你需要把它放到選擇器標籤中。

<item android:state_enabled="false" > 
    <shape> 
     <solid 
      android:color="#474141" /> 
     <stroke 
      android:width="1dp" 
      android:color="#474141" /> 
     <corners 
      android:radius="3dp" /> 
     <padding 
      android:left="10dp" 
      android:top="10dp" 
      android:right="10dp" 
      android:bottom="10dp" /> 
    </shape> 
</item> 
<item android:state_pressed="true" > 
    <shape> 
     <solid 
      android:color="#f3ae1b" /> 
     <stroke 
      android:width="1dp" 
      android:color="#f3ae1b" /> 
     <corners 
      android:radius="3dp" /> 
     <padding 
      android:left="10dp" 
      android:top="10dp" 
      android:right="10dp" 
      android:bottom="10dp" /> 
    </shape> 
</item> 
<item> 
    <shape> 
     <gradient 
      android:startColor="#990000" 
      android:endColor="#990000" 
      android:angle="270" /> 
     <stroke 
      android:width="1dp" 
      android:color="#990000" /> 
     <corners 
      android:radius="4dp" /> 
     <padding 
      android:left="10dp" 
      android:top="10dp" 
      android:right="10dp" 
      android:bottom="10dp" /> 
    </shape> 
</item>