2011-11-09 41 views
0

是否可以使用代碼設置First Color等屬性?可以使用代碼設置第一種顏色等屬性嗎?

我願做這樣的事情:

btnMyButton.drawable = "StatelistDrawable" 
btnMyButton.drawable.EnabledDrawable = "GradientDrawable" 
btnMyButton.drawable.EnabledDrawable.firstcolor = "255, 199, 199" 
btnMyButton.drawable.EnabledDrawable.secondcolor = "255, 79, 79" 

回答

1

如果我正確理解你的問題,你需要創建一個GradientDrawable如下:

GradientDrawable gradient = new GradientDrawable( GradientDrawable.Orientation.TOP_BOTTOM, new int[] {0xFFRRGGBB,0xFFRRGGBB}); gd.setCornerRadius(0f);

哪裏RRGGBB是顏色代碼在十六進制(例如99CC00

然後設置drawable作爲背景您的按鈕:

btnMyButton.setBackgroundDrawable(gradient);

+0

感謝您的示例代碼。我會在稍後嘗試。你知道如果Basic4Android有十進制的十六進制功能我可以使用嗎?像decToHex(99CC00) –

+0

啊我沒有意識到你正在使用Basic4Android框架,上面的示例代碼可能無法工作,除非你可以在你的應用程序中包含Android SDK Java代碼片段。至於在小數和十六進制之間轉換,[this](http://www.roseindia.net/java/java-conversion/DecimalToHexadecimal.shtml)頁面應該有所幫助。道歉,如果我的代碼是沒有用的。 – Leyths

+0

別擔心。我會看看它是否可能最有可能的明天,並會讓你知道發生了什麼。謝謝。 –

相關問題