在Android中,Button控件的圆角实现方式可以通过以下几种方法:
res/drawable
目录下,并定义一个带有圆角的Shape Drawable。<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/holo_blue_dark"/>
<corners android:radius="10dp"/>
</shape>
然后将该Drawable作为Button的背景:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rounded Button"
android:background="@drawable/rounded_button"/>
app:cornerRadius
属性来设置圆角。首先,确保在项目的build.gradle文件中添加了Material Components库的依赖:
dependencies {
implementation 'com.google.android.material:material:1.4.0'
}
然后在布局文件中使用MaterialButton:
<com.google.android.material.button.MaterialButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rounded Button"
app:cornerRadius="10dp"/>
onDraw()
方法,使用Canvas
和Paint
对象绘制圆角矩形。public class RoundedButton extends Button {
private float cornerRadius;
public RoundedButton(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
cornerRadius = 10 * getResources().getDisplayMetrics().density;
}
@Override
protected void onDraw(Canvas canvas) {
Path path = new Path();
RectF rectF = new RectF(0, 0, getWidth(), getHeight());
path.addRoundRect(rectF, cornerRadius, cornerRadius, Path.Direction.CW);
canvas.clipPath(path);
super.onDraw(canvas);
}
}
然后在布局文件中使用自定义的RoundedButton:
<your.package.name.RoundedButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rounded Button"/>
这三种方法都可以实现Button控件的圆角效果。根据你的项目需求和使用场景,可以选择合适的方法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。