870920 Menu

DrawableButton的使用技巧及示例

buttons-demo

DrawableButton:可绘制按钮,即:可以显示图形或图像的按钮。所显示的图形或图像为Drawable类的堆对象,而非Image对象。Drawable对象可通过该类的静态函数来获取(图像文件、图像数据、SVG图像、图像数据输入流、ValueTree所持有的数据等),或者直接使用Drawable的派生类对象。

DrawableButton可设置显示样式(同时显示文本和图像、仅显示图像或文本)。样式枚举:
 ImageFitted 显示图像时,自动调整大小和中心位置,以适应图像
 ImageRaw 以常规大小和位置来显示图像。需确保图像的大小和位置无误
 ImageAboveTextLabel 图像位于按钮文本的上方。按钮文本实则绘制的文本标签
 ImageOnButtonBackground 图像位于常规外形的按钮之上(圆角按钮)

重要成员函数
 DrawableButton (文本名称, 样式) 构造函数
 setImages () 设置按钮在不同状态下所显示的图像
 setButtonStyle () 设置按钮的样式
 setBackgroundColours () 设置按钮开启和正常状态下的背景颜色

注意:DrawableButton可绘制按钮具有开关属性时,开启状态下具有背景色。

由于Drawable可使用并绘制Path轨迹,而Drawable的对象又是本类所显示的图形或图像,因此,如果打算让本类显示Path形状,通常先进行轨迹描述。以上图为例(该图是笔者(Running)编写的一款软件的二级操作界面。该界面为内测阶段的“草稿”),此处给出这几个DrawableButton的实际代码(均位于内容组件的构造函数中,发布时略有删改)。其中,播放按钮具有开关式属性:

 带有小键盘的可绘制按钮:

另外一个小技巧,使用图像数据的可绘制按钮: