「05」制作鴻蒙版蜻蜓短視頻系統(tǒng)-事件原理及完成點擊,長按雙擊
大家好我是伊凡,這是第五篇現(xiàn)在已經(jīng)開始加快進度了,本次開始熟悉點擊事件和各類寫法,下一步開始寫底部導航和頂部導航,本文為伊凡原創(chuàng)撰寫僅僅代表伊凡個人觀點,不代表優(yōu)雅草科技的觀點與其立場,謝謝。
點擊事件原理
接上文我們已經(jīng)做好了,ability_main.xml首頁和snsSlice.java的子頁面,我們現(xiàn)在來實現(xiàn)點擊事件進行跳轉(zhuǎn)。
找到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來實現(xiàn)這個接口,

編輯切換為居中
實現(xiàn)接口我們需要用一個方法 ?

編輯切換為居中
選好后末尾 按住快捷鍵 alt+enter 彈出 implement 的具體方法我們選擇onclick,最終效果

編輯切換為居中
由于很多地方都會用到點擊事件,因此我們可以將其封裝成為一個“意圖”,
繼續(xù)寫方法,主要有以下三部分

編輯切換為居中
@Override
? ?public void onClick(Component component) {
? ? ? ?//此處便是點擊按鈕后需要執(zhí)行的方法
? ? ? ?if(component == btn){
? ? ? ? ? ?// if判斷只有點擊btn才觸發(fā)
? ? ? ? ? ?Intent t = new Intent(); //封裝為一個意圖,下方是具體方法內(nèi)容
? ? ? ? ? ?Operation operation = new Intent.OperationBuilder()
? ? ? ? ? ? ? ? ? ?.withDeviceId("") // 跳轉(zhuǎn)某個設(shè)備,傳輸字符串空""代表就是本機
? ? ? ? ? ? ? ? ? ?.withBundleName(com.youyacao.songshuvideo) ?//要跳轉(zhuǎn)的具體應(yīng)用,輸入包名
? ? ? ? ? ? ? ? ? ?.withAbilityName(com.youyacao.songshuvideo.sns) //跳轉(zhuǎn)的具體頁面
? ? ? ? ? ? ? ? ? ?.build();//打包以上3個信息
? ? ? ? ? ?t.setOperation(operation); //將operation 設(shè)置為封裝的意圖t
? ? ? ? ? ?startAbility(t);//跳轉(zhuǎn)頁面命令
? ? ? ?}
? ?}
第一步定義“意圖”t,第二步operation具體寫出具體的跳轉(zhuǎn)方法,第三步把第二步的operation設(shè)置為t,用startAbility命令進行跳轉(zhuǎn),完成。
運行的時候說一下 上面Button報錯,因為上面B寫的時候錯誤小寫了需要改一下,但是文章已經(jīng)寫截圖也弄我就不改了。
雙擊事件
參考點擊事件單擊的原理,其實就是改用DoubleClickedListener并且導入對應(yīng)方法再修改即可
長按事件
implements Component.LongClickedListener
長按事件以此類推,只要深刻理解點擊事件,其他方法舉一反三。
總結(jié):
基本上可以總結(jié)為三步,第一步找到按鈕id,第二步給按鈕綁定事件(事件可以是單擊,雙擊,滑動,長按等等),第三步,觸發(fā)事件后我們需要用方法來執(zhí)行什么,比如跳轉(zhuǎn)!
Ok本文內(nèi)容到此結(jié)束,我們必須得加快進度,盡量在2個月內(nèi)寫完并且對應(yīng)APP也寫完。