如何在Android中以编程方式设置按钮边框颜色?

时间:2015-12-03 20:03:28

标签: android button border

我希望在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);

如何以编程方式执行此操作?

2 个答案:

答案 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>`