Skip to content

BlurButtonView

使用组件

xml
<com.qmdeve.blurview.widget.BlurButtonView
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button Test"
    android:textSize="16sp"
    android:textColor="#111111"
    android:icon="?android:attr/actionModeWebSearchDrawable"
    android:gravity="center"
    app:blurRadius="20dp"
    app:overlayColor="#AAFFFFFF"
    app:buttonCornerRadius="12dp"
    app:buttonTextColorPressed="#111111"
    app:buttonTextColorDisabled="#80111111"
    app:buttonTextBold="true"
    app:buttonIconSize="24dp"
    app:buttonIconPadding="8dp"
    app:buttonIconTint="#111111" />
java
BlurButtonView button = new BlurButtonView(context);
button.setText("Button Text");
button.setButtonCornerRadius(12f);
button.setTextSize(16f);
button.setTextColor(0xFF111111);
button.setIconResource(R.drawable.ic_search);
button.setIconSize(24);
button.setIconPadding(8);
kotlin
val button = BlurButtonView(context)
button.setText("Button Text")
button.setButtonCornerRadius(12f)
button.setTextSize(16f)
button.setTextColor(0xFF111111.toInt())
button.setIconResource(R.drawable.ic_search)
button.setIconSize(24)
button.setIconPadding(8)

属性说明

属性名类型默认值说明
android:textstringnull按钮文本。
android:textSizedimension16sp文本大小。
android:textColorcolor#FF000000文本颜色。
android:iconreferencenull图标资源。
android:gravityintegercenter内容对齐方式。
app:buttonCornerRadiusdimension0dp按钮圆角半径。
app:buttonTextColorPressedcolorandroid:textColor按下态文本颜色。
app:buttonTextColorDisabledcolortextColor 的 50% 透明度禁用态文本颜色。
app:buttonTextBoldbooleantrue文本是否加粗。
app:buttonIconSizedimension24dp图标大小。
app:buttonIconPaddingdimension8dp图标与文本间距。
app:buttonIconTintcolornull图标着色(ColorStateList)。
app:blurRadiusdimension25dp继承自 BlurView 的模糊半径。
app:overlayColorcolor#AAFFFFFF继承自 BlurView 的覆盖色。

INFO

styleable 中声明了 app:buttonBlurRadiusapp:buttonOverlayColor,但当前实现实际读取的是继承属性 app:blurRadiusapp:overlayColor

API 参考

方法名说明
setText(CharSequence) / getText()设置或获取按钮文本。
setButtonCornerRadius(float)设置按钮圆角。
setTextSize(float)设置文本大小(sp)。
setTextColor(int)设置普通态文本颜色。
setTextColorPressed(int)设置按下态文本颜色。
setTextBold(boolean)设置文本加粗状态。
setIcon(Drawable) / setIconResource(int)设置图标。
setIconSize(int)设置图标大小(dp)。
setIconPadding(int)设置图标间距(dp)。
setIconTint(ColorStateList) / setIconTintColor(int)设置图标着色。
setGravity(int)设置内容对齐方式。
setOnClickListener(View.OnClickListener)设置点击回调。
setBlurRadius(float)继承自 BlurView 的模糊半径接口。
setOverlayColor(int)继承自 BlurView 的覆盖色接口。