IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 鸿蒙学习笔记之滑动事件(常见动作) -> 正文阅读

[Java知识库]鸿蒙学习笔记之滑动事件(常见动作)

Tips:

滑动事件:当点击之后,滑动这个模块。

常见场景:轮播图滑动,文章列表上下联动,小说翻页等。

滑动事件常见动作:按下,移动,松开

?前面学习了点击,双击和长按事件,今天会学习一个新的知识点,滑动事件,这是我们实际开发中也会经常使用。

话不多说,直接上手操作上代码:

xml代码文件如下:

<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
    ohos:id="$+id:view"
    xmlns:ohos="http://schemas.huawei.com/res/ohos"
    ohos:height="match_parent"
    ohos:width="match_parent"
    ohos:alignment="center"
    ohos:orientation="vertical">

    <Text
        ohos:id="$+id:text_helloworld"
        ohos:height="match_content"
        ohos:width="match_content"
        ohos:background_element="$graphic:background_ability_main"
        ohos:layout_alignment="horizontal_center"
        ohos:text="滑动界面"
        ohos:text_size="40vp"
        />

</DirectionalLayout>

如上就是我们xml文件,我们发现我给DirectionalLayout组件设置了id,这是因为我们使用滑动事件时,是在操作我们的界面,所以我们需要DirectionalLayout设置id,这样可以获取DirectionalLayout组件,方便我们操作。

接下来就是我们的java代码,来写我们的滑动事件了,代码如下:

package com.example.mydemoslide.slice;

import com.example.mydemoslide.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.Component;
import ohos.agp.components.DirectionalLayout;
import ohos.agp.components.Text;
import ohos.multimodalinput.event.TouchEvent;

public class MainAbilitySlice extends AbilitySlice implements Component.TouchEventListener{
    private Text txt;
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);
        //找到txt组件
        txt= (Text) findComponentById(ResourceTable.Id_text_helloworld);
        //找到我们的表示滑动的组件,因为我们实在整个页面滑动,所以就直接找到DirectionalLayout组件
        DirectionalLayout view = (DirectionalLayout) findComponentById(ResourceTable.Id_view);
        //给我们的组件绑定滑动的事件
        view.setTouchEventListener(this);
    }

    @Override
    public void onActive() {
        super.onActive();
    }

    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }

    @Override
    public boolean onTouchEvent(Component component, TouchEvent touchEvent) {
        //获取我们滑动事件状态
        int touState = touchEvent.getAction();
        //滑动事件按下的状态
        if(touState==touchEvent.PRIMARY_POINT_DOWN){
            txt.setText("手指点下了");
        }
        //滑动事件松开的状态
        else if(touState==touchEvent.PRIMARY_POINT_UP){
            txt.setText("手指松开了");
        }
        //滑动事件移动的状态
        else if(touState==touchEvent.POINT_MOVE){
            txt.setText("手指移动了");
        }
        return true;
    }
}

如上,我们先找到我们组件给他绑定我们的滑动事件,而我们的滑动事件,除了给我们一个componet参数,还多了一个touchEvent参数。touchEvent是用来获取我们我们滑动事件的,getAction()可以获取我们当前操作滑动事件的状态。toucheEvent类为我们提供了很多定义属性,其中PRIMARY_POINT_DOWN,PRIMARY_POINT_UP和POINT_MOVE是我们常用的属性,

按下,松开和移动。

效果如下:

初始页面:? ?按下后:? ?松开后:? ?移动中:

?以上就是我们的滑动事件实现效果以及代码,需要源代码的点击[HarmonyOS的长按事件源代码.rar-Java文档类资源-CSDN下载]下载

Tips:

在滑动事件中,return false只会执行一次。

return true才能获取到移动和松开状态的响应。

?

?==================分享不易,都观看到这里了,还不点赞收藏嘛!===================

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-01 17:34:35  更:2021-12-01 17:35:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:46:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码