【发布时间】:2017-05-27 15:34:26
【问题描述】:
我需要您的帮助来完成我想做的事情,我一直在尝试制作一个带圆角的按钮并只显示它的边框,我需要能够根据我得到的内容以编程方式更改颜色一个Web服务,到目前为止,我尝试使用drawable添加形状,并且它给出了带有边框颜色的圆形形状,但我不能更改它的颜色,因为它默认添加在drawable中
<?xml version="1.0" encoding="UTF-8"?>
<stroke android:width="3dp"
android:color="#ff000000"
/>
<padding android:left="1dp"
android:top="1dp"
android:right="1dp"
android:bottom="1dp"
/>
<corners android:bottomRightRadius="7dp"
android:bottomLeftRadius="7dp"
android:topLeftRadius="7dp"
android:topRightRadius="7dp"/>
这是我使用的drawable,然后我尝试添加形状,为按钮创建一个自定义类并更改onDraw方法,我得到了一个形状但有点奇怪
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
Paint paint = new Paint();
paint.setStyle(Paint.Style.STROKE);
paint.setColor(strokeColor);
paint.setStrokeWidth(5.0f);
int h = this.getHeight();
int w = this.getWidth();
//final RectF rect = new RectF();
RectF oval1 = new RectF(0, 0, w, h);
canvas.drawRoundRect(oval1, 40, 40, paint);
}
由于某种原因,除了奇怪的形状,我使用 set text 方法以编程方式添加文本并且它没有显示,它得到了笔画的颜色而不是文本
buttonCTA = ButterKnife.findById(this, R.id.btnCTA);
buttonCTA.setTextColor(Color.parseColor(valueColor));
buttonCTA.setStrokeColor(valueColor);
buttonCTA.setText("test");
【问题讨论】:
标签: android button rounded-corners