当前位置:   article > 正文

鸿蒙checkbox修改默认样式和字体颜色_ohos:check_element

ohos:check_element

改变默认样式

鸿蒙的默认checkout样式是这样的:

这跟android默认的不一样,有时候我们需要实现类似这样的需求:

这就需要我们自定义设置,这里记录一下如果实现;

主要使用checkbox中的下面属性

ohos:check_element="$graphic:register_select"

我们需要自定义一个graphic,这个类似于andorid中的drawable:

register_select.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <state-container
  3. xmlns:ohos="http://schemas.huawei.com/res/ohos">
  4. //选中的状态
  5. <item ohos:element="$media:register_select_on" ohos:state="component_state_checked"/>
  6. //未选中的状态
  7. <item ohos:element="$media:register_select" ohos:state="component_state_empty"/>
  8. </state-container>

然后在checkbox中使用

  1. <Checkbox
  2. ohos:height="match_content"
  3. ohos:width="match_content"
  4. ohos:text="我已阅读并同意"
  5. ohos:check_element="$graphic:register_select"
  6. ohos:text_size="12fp"
  7. ohos:left_margin="10vp"
  8. />

这样就改变了默认样式:

改变字体颜色

如果想要字体颜色也根据选中状态改变的话,鸿蒙系统也提供了属性,注意不能使用ohos:text_color这个属性,这个亲测好像只会改变未选中状态的字体颜色,选中后会回到默认的黑色,而且鸿蒙系统中不能像android那样新建color文件夹;

后面发现鸿蒙默认提供了两个设置状态的属性,可以设置这两个属性改变不通状态的颜色:

  1. ohos:text_color_off="$color:login_text" //未选中状态
  2. ohos:text_color_on="$color:bt_login" //选中状态
  1. <Checkbox
  2. ohos:height="match_content"
  3. ohos:width="match_content"
  4. ohos:text="我已阅读并同意"
  5. ohos:check_element="$graphic:register_select"
  6. ohos:text_size="12fp"
  7. ohos:text_color_off="$color:login_text"
  8. ohos:text_color_on="$color:bt_login"
  9. ohos:left_margin="10vp"
  10. />

未选中效果:

选中效果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/291027
推荐阅读