大家好我是伊凡,这是第五篇现在已经开始加快进度了,本次开始熟悉点击事件和各类写法,下一步开始写底部导航和顶部导航,本文为伊凡原创撰写仅仅代表伊凡个人观点,不代表优雅草科技的观点与其立场,谢谢。
-
点击事件原理
接上文我们已经做好了,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,最终效果
由于很多地方都会用到点击事件,因此我们可以将其封装成为一个“意图”,
继续写方法,主要有以下三部分
编辑切换为居中
添加图片注释,不超过 140 字(可选)
@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写的时候错误小写了需要改一下,但是文章已经写截图也弄我就不改了。
-
双击事件
参考点击事件单击的原理,其实就是改用DoubleClickedListener并且导入对应方法再修改即可
编辑切换为居中
添加图片注释,不超过 140 字(可选)
-
长按事件
implements Component.LongClickedListener
长按事件以此类推,只要深刻理解点击事件,其他方法举一反三。
总结:
基本上可以总结为三步,第一步找到按钮id,第二步给按钮绑定事件(事件可以是单击,双击,滑动,长按等等),第三步,触发事件后我们需要用方法来执行什么,比如跳转!
Ok本文内容到此结束,我们必须得加快进度,尽量在2个月内写完并且对应APP也写完。