我希望在Android中有一个按钮边框颜色不同的按钮。
Button Bt = new Button(this);
Bt.setId(i+1);
Bt.setBackgroundColor(getResources().getColor(R.color.white)) ;
Bt.setText(restList.get(i));
Bt.setLayoutParams(params3);
Bt.setTextColor(Color.parseColor("gray"));
layout.addView(Bt);
如何以编程方式执行此操作?
答案 0 :(得分:10)
yourButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ShapeDrawable shapedrawable = new ShapeDrawable();
shapedrawable.setShape(new RectShape());
shapedrawable.getPaint().setColor(Color.RED);
shapedrawable.getPaint().setStrokeWidth(10f);
shapedrawable.getPaint().setStyle(Style.STROKE);
yourButton.setBackground(shapedrawable);
}
});
尝试这个,但我不确定100%
答案 1 :(得分:0)
您可以为此创建一个布局。在您的代码中:
your_button.setBackgroundResource(R.drawable.your_layout);
your_layout-可绘制对象中的XML文件,例如:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<padding android:left="10dp"
android:right="10dp"
android:top="10dp"
android:bottom="10dp"/>
<stroke
android:width="1dp"
android:color="@color/colorPrimary" />
</shape>`