我想设置没有xml的圆角。我怎么能在java代码中做到这一点?
Button b = new Button (this);
b.set???? (??) ;
我尝试编写b.setCornerRadius(3.0f),但是对于按钮对象未定义。 感谢。
答案 0 :(得分:27)
使用GradientDrawable
GradientDrawable gdDefault = new GradientDrawable();
gdDefault.setColor(bgColor);
gdDefault.setCornerRadius(cornerRadius);
gdDefault.setStroke(strokeWidth, strokeColor);
答案 1 :(得分:4)
在可绘制文件夹中创建一个形状并设置所需的半径,并将此drawable设置为按钮的背景:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<corners android:radius="5dip"/>
</shape>
</item>
</layer-list>
答案 2 :(得分:0)
答案 3 :(得分:0)
尝试setGradientRadius()。 setCornerRadius()设置错误的大小。
GradientDrawable drawable = (GradientDrawable)image.getBackground();
drawable.setGradientRadius(radiuspx);