如何在java代码中为按钮设置角半径?

tat*_*a_c 6 android android-widget

我想设置没有xml的圆角.我怎么能在java代码中做到这一点?

Button b = new Button (this);
b.set???? (??) ;
Run Code Online (Sandbox Code Playgroud)

我试着写b.setCornerRadius(3.0f),但它没有为按钮对象定义.谢谢.

Ndr*_*oid 27

使用GradientDrawable

GradientDrawable gdDefault = new GradientDrawable();
gdDefault.setColor(bgColor);
gdDefault.setCornerRadius(cornerRadius);
gdDefault.setStroke(strokeWidth, strokeColor);
Run Code Online (Sandbox Code Playgroud)

  • anyView.setBackGroundDrawable(gdDefault); (2认同)

Bud*_*ril 5

在您的可绘制文件夹中创建一个形状并设置所需的半径并将此可绘制作为按钮的背景:

\n\n
<?xml version="1.0" encoding="utf-8"?>\n<layer-list xmlns:android="http://schemas.android.com/apk/res/android">\n    \xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\n    <item>\n        <shape android:shape="rectangle">\n            <corners android:radius="5dip"/>\n        </shape>\n    </item>\n</layer-list>\n
Run Code Online (Sandbox Code Playgroud)\n

  • 如果 xml 名为“some_drawable.xml”,您可以通过以下方式完成:`b.setBackgroundResource(R.drawable.some_drawable);` (3认同)