2015-07-02 43 views
-1

我設計了一個圓角按鈕。具有不同背景的ButtonView

button_selector.xml:

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

</shape> 

在佈局:

<Button 
    android:background="@drawable/button_selector" 
.../> 

在每一次點擊的按鈕應該改變顏色:內onClickListener

在活動中, ():

btn1.setBackgroundColor(getAnswerColor(choiceArray[0])); 

但如果我這樣做,我沒有得到圓角。

如何獲得圓角?請建議。

+0

button_selector.xml的郵政編碼 –

+0

請檢查以上代碼。 – megha

+0

請檢查答案並給予回覆... –

回答

-1
btn1.setBackgroundResource(R.drawable.button_selector); 

GradientDrawable drawableGradient = (GradientDrawable) btn1.getBackground(); 
drawableGradient .setColor(Color.RED); 
+0

謝謝@Anoop。它正在工作。 – megha

0

你可以從這個toolsite讓你的按鈕==>Android Button Maker

可以使任何類型的按鈕,使用該工具與代碼。

在這裏我編輯這個答案作爲您的要求。

所以,爲不同的背景顏色製作兩個不同的按鈕,並使用選擇器更改背景onClick.For使用此代碼。

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

<item android:drawable="@drawable/click_button" android:state_pressed="true" /> 
<!-- When not selected, use white--> 
<item android:drawable="@drawable/not_click_button" android:state_pressed="false" /> 

</selector> 
+0

創建的任何自定義樣式都設置爲ButtonView的背景。在動態改變ButtonView的背景顏色的同時,我必須設置backgroundColor,這反過來取消了style的效果。 – megha

+0

我已經爲您的要求編輯了我的答案,請按照此方法獲得您的解決方案。 –

0

嘗試這種方式

我下面的XML

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

<item > 
<shape android:shape="rectangle" > 
    <corners android:radius="13dip" /> 
    <stroke android:width="1dip" android:color="#5e7974" /> 
    <gradient android:angle="-90" android:startColor="#8dbab3" android:endColor="#58857e" />    
</shape> 
</item> 
</selector> 
按鈕

選中點擊添加以下代碼

StateListDrawable drawable = (StateListDrawable) v.getBackground(); 
    drawable.setColorFilter(Color.RED,PorterDuff.Mode.SRC_ATOP); 
    button1.setBackground(drawable); 
相關問題