欢迎光临散文网 会员登陆 & 注册

「05」制作鸿蒙版蜻蜓短视频系统-事件原理及完成点击,长按双击

2022-04-25 19:25 作者:成都市一颗优雅草科技  | 我要投稿

大家好我是伊凡,这是第五篇现在已经开始加快进度了,本次开始熟悉点击事件和各类写法,下一步开始写底部导航和顶部导航,本文为伊凡原创撰写仅仅代表伊凡个人观点,不代表优雅草科技的观点与其立场,谢谢。


  1. 点击事件原理


接上文我们已经做好了,ability_main.xml首页和snsSlice.java的子页面,我们现在来实现点击事件进行跳转。

找到MainAbilitySlice.java 进入后开始


public class MainAbilitySlice extends AbilitySlice  {

   button = btn; //定义按钮  btn

   @Override

   public void onStart(Intent intent) {

       super.onStart(intent);

       super.setUIContent(ResourceTable.Layout_ability_main);


       btn = findComponentById(ResourceTable.Id_botton_sns);//找到我们ability_main.xml中的button按钮

       btn.setClickedListener(this); //  给btn 增加一个点击事件



}


编辑切换为居中


增加点击事件我们要用到setClickedListener,再用implements来实现这个接口,

编辑切换为居中

实现接口我们需要用一个方法  

编辑切换为居中

选好后末尾 按住快捷键 alt+enter 弹出 implement 的具体方法我们选择onclick,最终效果

编辑切换为居中



由于很多地方都会用到点击事件,因此我们可以将其封装成为一个“意图”,

继续写方法,主要有以下三部分

编辑切换为居中



@Override

   public void onClick(Component component) {

       //此处便是点击按钮后需要执行的方法

       if(component == btn){

           // if判断只有点击btn才触发

           Intent t = new Intent(); //封装为一个意图,下方是具体方法内容

           Operation operation = new Intent.OperationBuilder()

                   .withDeviceId("") // 跳转某个设备,传输字符串空""代表就是本机

                   .withBundleName(com.youyacao.songshuvideo)  //要跳转的具体应用,输入包名

                   .withAbilityName(com.youyacao.songshuvideo.sns) //跳转的具体页面

                   .build();//打包以上3个信息

           t.setOperation(operation); //将operation 设置为封装的意图t



           startAbility(t);//跳转页面命令



       }

   }


第一步定义“意图”t,第二步operation具体写出具体的跳转方法,第三步把第二步的operation设置为t,用startAbility命令进行跳转,完成。

运行的时候说一下 上面Button报错,因为上面B写的时候错误小写了需要改一下,但是文章已经写截图也弄我就不改了。



  1. 双击事件

参考点击事件单击的原理,其实就是改用DoubleClickedListener并且导入对应方法再修改即可


添加图片注释,不超过 140 字(可选)


  1. 长按事件

implements Component.LongClickedListener

长按事件以此类推,只要深刻理解点击事件,其他方法举一反三。



总结:


基本上可以总结为三步,第一步找到按钮id,第二步给按钮绑定事件(事件可以是单击,双击,滑动,长按等等),第三步,触发事件后我们需要用方法来执行什么,比如跳转!


Ok本文内容到此结束,我们必须得加快进度,尽量在2个月内写完并且对应APP也写完。



「05」制作鸿蒙版蜻蜓短视频系统-事件原理及完成点击,长按双击的评论 (共 条)

分享到微博请遵守国家法律