首先在xml中创建页面

<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayoutohos:id="$+id:d1"//因为后面点赞双击需要在屏幕中点赞,所以添加一个屏幕的布局id为后面找到布局对象做准备xmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:alignment="center"ohos:orientation="vertical"><Imageohos:id="$+id:img"ohos:height="match_content"ohos:width="match_content"ohos:image_src="$media:white"ohos:background_element="cyan"//最开始是空白爱心,为了更好展示,加一个背景颜色/></DirectionalLayout>

运行得到图片:

接着在MainAbilitySlice中进行编译点赞事件

package com.example.myapplication.slice;import com.example.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.Button;
import ohos.agp.components.Component;
import ohos.agp.components.DirectionalLayout;
import ohos.agp.components.Image;public class MainAbilitySlice extends AbilitySlice implements Component.DoubleClickedListener {Image image;@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_main);//1. 找到图片组件image = (Image)findComponentById(ResourceTable.Id_img);//有屏幕才能点赞,所以先找到铺面屏幕的布局对象DirectionalLayout dir = (DirectionalLayout)findComponentById(ResourceTable.Id_d1);//选中dir变量,按Alt+enter,选中split就可以将变量分离,如下://DirectionalLayout dir;//dir = (DirectionalLayout)findComponentById(ResourceTable.Id_d1);//2. 给布局对象添加事件dir.setDoubleClickedListener(this);//单击图片对象取消点赞image.setClickedListener(new Component.ClickedListener() {@Overridepublic void onClick(Component component) {Image image2 =(Image)component ;image2.setImageAndDecodeBounds(ResourceTable.Media_white);}});}/*两种情况,第一是双击屏幕点赞,再次双击就取消点赞,另一种是双击点赞,单击爱心图片取消点赞*/@Overridepublic void onActive() {super.onActive();}@Overridepublic void onForeground(Intent intent) {super.onForeground(intent);}//boolean flag=false;//如果是白心,为FALSE,则双击点赞后变为红心//如果是红心,为TRUE,则双击点赞后变为白心@Overridepublic void onDoubleClick(Component component) {//修改图片为红色的心/*if(flag){image.setImageAndDecodeBounds(ResourceTable.Media_white);flag=false;}else{*/image.setImageAndDecodeBounds(ResourceTable.Media_red);//flag=true;//}}
}

展示结果

可以是代码运行出的双击点赞,单击爱心取消点赞的情况;
也可以是注释中的双击点赞,双击取消的情况。

HarmonyOS3.0点赞事件相关推荐

  1. Android 4.0按键事件以及系统流程分析

    Android 4.0中按键的处理流程 按键在Android系统中,有着不同的代表意义.以前的全键盘的手机代码没有阅读过,所以也不是很了解.本人介绍的是在触摸屏的手机上的按键消息的处理流程. 在现在触 ...

  2. Android 5.0(Lollipop)事件输入系统(Input System)

    其实Android 5.0中事件输入子系统的框架和流程没有本质变化.Service端的实现在/frameworks/native/services/inputflinger/下(4.4中在/frame ...

  3. PowerShell 2.0管理事件日志(一)查看和读取事件日志

    事件日志是操作系统用来保存本身及其他程序信息的工具,本文将会介绍如何通过PowerShell脚本阅读事件日志并创建新的日志条目.Windows系统中包含多种事件日志,在Windows XP系统中包括4 ...

  4. 【activiti 入门】activiti6.0之事件总结

    从结构上来讲如下图: 事件定义     定时器事件定义     错误事件定义     信号事件定义     消息事件定义 开始事件     空开始事件     定时开始事件     消息开始事件    ...

  5. 概率等于1一定是必然事件吗?/概率为0的事件未必是不可能事件?

    先说结论: P(A)=0不等价于∅: P(A)=1不等价于Ω: 当考虑的概型为古典概型时,概率为零的事件一定是不可能事件 当考虑的概型是几何概型时,概率为零的事件未必是一个不可能事件. 举个例子,区间 ...

  6. EventBus3.0 List事件遇到的坑

    当你需要发送接收List类型的对象时,务必做个类型判断...否则会出现 java.lang.ClassCastException 具体操作如下 /*instanceof to avoid some b ...

  7. 实操ASP测试环境搭建 学习 · 刚刚 0阅读 · 0点赞 langya3 本教程使用Windows2003+IIS6.0+ACCESS+ASP-DVBBS论坛 1. 打开管理服务器-----

    实操ASP测试环境搭建 本教程使用Windows2003+IIS6.0+ACCESS+ASP-DVBBS论坛 打开管理服务器-----点击添加或删除角色----- 进入配置你的服务器向导------点 ...

  8. 炭材料中间相炭微球MCMB的制备日常 · 刚刚 0阅读 · 0点赞

    炭材料中间相炭微球MCMB的制备 含有稠环化合物(如:沥青类化合物)热处理时,发生热缩聚反应生成具有各向异性的中间相小球体,把中间相小球从沥青母体中分离出来形成的微米级球形碳材料就称为中间相碳微球(简 ...

  9. Google Maps API 2.0解析(3-GEvent事件功能支持)

    //以a为参数,运行b和c函数,如果a是一个html控件而且包含子控件,则以子控件为参数也运行该函数   function RunFunction(a,b,c)   {    if(b)    {   ...

最新文章

  1. DocumentsContract cannot be resolved
  2. python解压_python解压缩
  3. Android老項目出现javax/xml/bind/JAXBException异常问题解决
  4. FPGA篇(九)关于ASCII码
  5. 图像“颜色选择”怎么用?
  6. 微信小程序 - 使用npm(第三方包)
  7. 针对.NET开发者(neo-charm) 1.0 的NEO区块链架构参考模型
  8. IntelliJ IDEA for Mac工件包(artifact)中 Web facet resources 的模块名称有误,如何修改?
  9. 全网最细之接口的定义与实现
  10. embed 标签怎么嵌入pdf_联合Aspect-Sentiment主题嵌入的弱监督的情感分析(2020年10)
  11. 如何用 Linux 拨号上网
  12. python退出帮助系统_Python退出脚本并返回Main
  13. Navicat Premium 15 for Mac(数据库管理工具)支持Big Sur
  14. 2021-11-17
  15. vue中使用保利威视频播放器
  16. Fedora14源代码获取方法----直接到官网去下载
  17. leetcode.1024. 视频拼接
  18. 农历数据html,农历公历数据sql,包含闰月数据,天干地支,风水等数据.sql
  19. Edison C++编程笔记
  20. 正态分布的应用——基于偏度系数解释发展水平

热门文章

  1. roku能不能安装软件_如何使用Roku Search一次搜索每个流媒体站点
  2. Android实训内容及过程,Android项目开发实训大纲.doc
  3. 《Android 网络开发与应用实战详解》——2.1节简析Android安装文件
  4. plt.plot()函数样式
  5. 发票查询API助力“两票制”实施
  6. 我的世界java18w50a_我的世界Java版18w21a正式发布 海豚将不能穿上盔甲
  7. Estore网上购书项目
  8. 揭秘:游戏建模培训机构说的“保障就业”到底可不可信?
  9. POP、OOP、AOP、LOP的区别
  10. 计算机网络winsock全双工通信C语言