我有一個按鈕,沒有任何文本只有背景顏色。在onClick()
事件的按鈕我需要設置按鈕邊框沒有xml
規範。我嘗試了漸變的矩形形狀作爲背景drawable
到我的佈局不靈活的按鈕。Android按鈕邊框動態
如何設置按鈕的特定顏色邊框?
這是我的代碼。
Button btnBlackColor=new Button(this);
int mButtonWidth=100;
btnBlackColor.setWidth(mButtonWidth);
btnBlackColor.setHeight(mButtonWidth);
btnBlackColor.setBackgroundColor(Color.BLACK);
btnBlackColor.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
GradientDrawable btnShape = new GradientDrawable(Orientation.BOTTOM_TOP, new int[]{Color.BLUE,Color.LTGRAY});
btnShape.setCornerRadius(0);
btnShape.setSize(mButtonWidth, mButtonWidth);
btnShape.setBounds(10, 10, mButtonWidth, mButtonWidth);
ClipDrawable btnClip = new ClipDrawable(btnShape, Gravity.LEFT,ClipDrawable.HORIZONTAL);
btnShape = new GradientDrawable(Orientation.BOTTOM_TOP, new int[]{Color.BLACK, Color.DKGRAY});
btnShape.setCornerRadius(0);
btnShape.setSize(mButtonWidth, mButtonWidth);
btnShape.setBounds(5, 5, mButtonWidth, mButtonWidth);
LayerDrawable btnLayer= new LayerDrawable(new Drawable[]{btnShape, btnClip});
btnBlackColor.setBackgroundDrawable(btnLayer);
}
});
「我有一個按鈕,沒有任何文本只有背景顏色」 - 這看起來或行爲都不像按鈕,因爲按鈕看起來響應點擊的是它的背景,即「StateListDrawable」。 – CommonsWare 2013-03-03 16:11:11
如何在沒有xml規範的情況下添加StateListDrawable? – Karthick 2013-03-03 17:15:01
'StateListDrawable'是一個Java類。歡迎您創建它的實例並根據您的需要配置這些實例。這就是說,因爲'StateListDrawable'的用戶中有99.44%是通過XML來完成的,你可能會發現通過Java管理一個例子的例子相對較少。 – CommonsWare 2013-03-03 17:44:35