鸿蒙selector的使用方式

在官网文档中,并没有详细说明按钮点击效果如何使用selector的使用方式等。因为系统还需完善,只能自己慢慢摸索了。
控件焦点状态如下,这个是动态jave代码添加组件状态时使用。

package ohos.agp.components;

public class ComponentState {
    public static final int COMPONENT_STATE_CHECKED = 64; //被选中
    public static final int COMPONENT_STATE_DISABLED = 32;//不可用状态
    public static final int COMPONENT_STATE_EMPTY = 0;//初始状态
    public static final int COMPONENT_STATE_FOCUSED = 2;//获取焦点状态
    public static final int COMPONENT_STATE_HOVERED = 268435456;//光标移动到该控件上
    public static final int COMPONENT_STATE_PRESSED = 16384;//点击或触摸状态
    public static final int COMPONENT_STATE_SELECTED = 4;//控件被选择状态

    public ComponentState() {
        throw new RuntimeException("Stub!");
    }

    public static boolean isStateMatched(int stateFlag, int stateMask) {
        throw new RuntimeException("Stub!");
    }
}

以一个button为例。

<Button
            ohos:id="$+id:btn_start_discovery"
            ohos:height="40vp"
            ohos:width="match_content"
            ohos:background_element="$graphic:btn_blue_selector"
            ohos:layout_alignment="center"
            ohos:margin="10vp"
            ohos:padding="10vp"
            ohos:text="start discovery"
            ohos:text_color="#FFFFFF"
            ohos:text_size="20vp"/>

selector.xml写法

<?xml version="1.0" encoding="UTF-8" ?>
<state-container xmlns:ohos="http://schemas.huawei.com/res/ohos"
       ohos:shape="rectangle">
    <item ohos:element="$color:red" ohos:state="component_state_pressed"/>
    <item ohos:element="$color:gray" ohos:state="component_state_empty"/>
</state-container>

点击前ble扫描按钮颜色
点击前点击后颜色
在这里插入图片描述
跟安卓selector效果差不多,也可以将颜色替换为图片或者其他element元素

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值