您好,登錄后才能下訂單哦!
在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控件的圓角效果。根據你的項目需求和使用場景,可以選擇合適的方法。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。