【发布时间】:2012-01-03 08:25:40
【问题描述】:
我想设置没有 xml 的圆角。我怎样才能在java代码中做到这一点?
Button b = new Button (this);
b.set???? (??) ;
我尝试编写 b.setCornerRadius(3.0f),但未定义按钮对象。 谢谢。
【问题讨论】:
我想设置没有 xml 的圆角。我怎样才能在java代码中做到这一点?
Button b = new Button (this);
b.set???? (??) ;
我尝试编写 b.setCornerRadius(3.0f),但未定义按钮对象。 谢谢。
【问题讨论】:
使用 GradientDrawable
GradientDrawable gdDefault = new GradientDrawable();
gdDefault.setColor(bgColor);
gdDefault.setCornerRadius(cornerRadius);
gdDefault.setStroke(strokeWidth, strokeColor);
【讨论】:
在您的可绘制文件夹中创建一个形状并设置所需的半径并将此可绘制对象设置为按钮的背景:
<?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>
【讨论】:
b.setBackgroundResource(R.drawable.some_drawable);
查看Shape Drawable的文档
【讨论】:
试试 setGradientRadius()。 setCornerRadius() 设置错误的大小。
GradientDrawable drawable = (GradientDrawable)image.getBackground();
drawable.setGradientRadius(radiuspx);
【讨论】: