最好用的安卓按钮,含泪狂刷 Android 基础面试 118 题
按钮上图标高度 app:drawable_middle_height="50dp"
按钮上图标宽度 app:drawable_middle_width="50dp"
注意:当设置此属性时,文字的相关属性将会失效
0x5 渐变背景的按钮
效果
代码
<top.androidman.superbutton.SuperButtonandroid:layout_width="match_parent"android:layout_height="60dp"android:layout_margin="20dp"app:color_direction="RIGHT_LEFT"app:color_end="@color/color_14c7de"app:color_start="@color/color_red"app:corner="20dp"app:text="从右到左渐变"app:textColor="@color/color_white"app:textSize="22sp" />
属性解释
开始颜色 app:color_start="@color/color_14c7de"
结束颜色 app:color_end="@color/color_red"
颜色渐变方向 app:color_direction="RIGHT_LEFT"
TOP_BOTTOM 从上到下
BOTTOM_TOP 从下到上
LEFT_RIGHT 从左到右
RIGHT_LEFT 从右到左
TR_BL 从右上到左下
BL_TR 从左下到右上
BR_TL 从右下到左上
TL_BR 从左上到右下
注意:当设置颜色渐变时,color_normal,color_pressed 设置将失效
0x6 有边框按钮
效果
代码
<top.androidman.SuperButtonandroid:layout_width="match_parent"android:layout_height="60dp"android:layout_margin="20dp"app:border_color="@color/color_red"app:border_width="2dp"app:color_normal="@color/color_accent"app:corner="10dp"app:text="@string/poetry_1"app:textColor="@color/color_white"app:textSize="22sp" />
属性解释
边框宽度 app:border_width="2dp"
边框颜色 app:border_color="@color/color_red"
0x7 按钮不可点击
效果
代码
<top.androidman.SuperButtonandroid:layout_width="match_parent"android:layout_height="60dp"android:layout_margin="20dp"android:onClick="test"app:button_click_able="false"app:color_normal="@color/color_accent"app:corner="10dp"app:singleLine="false"app:text="app:button_click_able=false\n 也可以代码设置"app:textColor="@color/color_white"app:textSize="22sp" />
属性解释
按钮是否可以点击,默认为 true 可以点击 app:button_click_able="false"
按钮文字是否单行,默认为 true 单行 app:singleLine="false"
注意:按钮提供有方法对点击事件进行控制,请参考高级使用里面相关方法
0x8 带图标按钮
效果
代码
<top.androidman.superbutton.SuperButtonandroid:layout_width="match_parent"android:layout_height="60dp"android:layout_margin="20dp"app:color_normal="@color/color_red"app:corner="20dp"app:drawable_padding="20dp"app:drawable_right="@mipmap/icon_like"app:text="图标在右边"app:textColor="@color/color_white"app:textSize="22sp" />
属性解释
图标在文字右边 app:drawable_right="@mipmap/icon_like"
图标在文字左边 app:drawable_left="@mipmap/icon_like"
图标在文字上边 app:drawable_top="@mipmap/icon_like"
图标在文字下边 app:drawable_bottom="@mipmap/icon_like"
图标距文字距离 app:drawable_padding="20dp"
根据文字大小缩放图标,默认为 true,当为 false 时显示原图标大小 app:drawable_auto="true"
按钮支持的所有属性
<!-
</declare-styleable></resources>
高级应用
1.想修改按钮相关调用如下方法:
/**
修改文字*/superButton.setText(CharSequence text);
/**
修改文字颜色*/superButton.setTextColor(@ColorInt int textColor);
/**
修改按钮背景颜色*/superButton.setColorNormal(@ColorInt int colorNormal);
当某些状态下需要代码控制,将按钮置灰然后不可点击,可以直接调用如下方法:
/**
调用此方法后按钮颜色被改变,按钮无法点击*/superButton.setUnableColor(@ColorInt int color);
如果只是想设置按钮不可点击,不需要改变按钮颜色,可以使用如下方法
/**
设置按钮是否可以点击
评论