当前位置:   article > 正文

Harmony应用开发之Button点击效果_harmony 按钮点击特效

harmony 按钮点击特效

最近一直在研究Harmony应用的开发,也在着手写一些Demo,在写的过程中难免会写到button的点击效果,网上找了一大圈,也没找到关于button点击效果的文章以及介绍,就想着用java代码监听触摸事件,代码如下:

  1. cameraBtn.setTouchEventListener(new Component.TouchEventListener() {
  2. @Override
  3. public boolean onTouchEvent(Component component, TouchEvent touchEvent) {
  4. HiLog.error(LABEL, "zz:%{public}s", touchEvent.getAction());
  5. switch (touchEvent.getAction()){
  6. case TouchEvent.PRIMARY_POINT_DOWN:
  7. ShapeElement shapeElement=new ShapeElement(MainAbilitySlice.this,ResourceTable.Graphic_button_bg_gray);
  8. cameraBtn.setBackground(shapeElement);
  9. break;
  10. case TouchEvent.PRIMARY_POINT_UP:
  11. ShapeElement shapeElement1=new ShapeElement(MainAbilitySlice.this,ResourceTable.Graphic_button_bg_blue);
  12. cameraBtn.setBackground(shapeElement1);
  13. break;
  14. }
  15. return true;
  16. }
  17. });

思来想去觉得这样比较繁琐,应该是可以用xml实现的,经过一番对官方文档的查找,最终找到了checkBox的选中效果,最后经过查阅api文档终于找到了。xml代码如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <state-container
  3. xmlns:ohos="http://schemas.huawei.com/res/ohos">
  4. <item
  5. ohos:element="$graphic:button_bg_gray"
  6. ohos:state="component_state_pressed"/>
  7. <item
  8. ohos:element="$graphic:button_bg_blue"
  9. ohos:state="component_state_empty"/>
  10. </state-container>

button_bg_gray.xml代码如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
  3. ohos:shape="rectangle">
  4. <corners
  5. ohos:radius="100"/>
  6. <solid
  7. ohos:color="$color:dialog_btn_gray_color"/>
  8. </shape>

button_bg_blue.xml代码如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
  3. ohos:shape="rectangle">
  4. <corners
  5. ohos:radius="100"/>
  6. <solid
  7. ohos:color="$color:button_blue_color"/>
  8. </shape>

最终的使用:

  1. <Button
  2. ohos:id="$+id:confirm_btn"
  3. ohos:height="50vp"
  4. ohos:width="0vp"
  5. ohos:background_element="$graphic:button_click"
  6. ohos:text="确定"
  7. ohos:text_color="#1766fb"
  8. ohos:text_size="16vp"
  9. ohos:weight="1"
  10. ohos:right_margin="5vp"
  11. />

至此Harmony button的点击效果已实现。

HarmonyOS应用demo

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/267780
推荐阅读
相关标签
  

闽ICP备14008679号