- 一、实现效果
- 二、Android开发
- 三、HarmonyOS开发
- 四、比较
在安卓中利用selector可以实现Button的点击效果,布局文件如下所示:
其中shape为:
可以看到Button的形状为矩形,但是四个角通过corners可以设置为弧形,进而形成“胶囊”效果。
要实现Button“点击后颜色加深,释放后颜色恢复”的效果,重点在于solid的设置,即颜色的填充。
看一下颜色文件selector:
Android开发中利用selector可以实现一个控件两种不同的状态。在本例中,当按钮的state_pressed为true时,即按钮被按下时颜色为#CCCCFF,否则为#FFFFFF。
三、HarmonyOS开发鸿蒙开发中并没有selector,但有一个类似的state-container,实现代码如下:
其中selector为:
可以看到,当Button状态为component_state_pressed时,Button的布局为shape;当其状态为component_state_empty时,Button的布局为shape_empty。
分别给出这两个布局文件:
shape:
shape_empty:
可以发现二者只是填充颜色不同,而这两种颜色分别就是按下与不按下时button的颜色。
四、比较安卓开发和鸿蒙开发实现的方式类似,但感觉安卓开发中实现的效果要流畅一点,用户体验更好!



