(3(1),互联网大厂面试技巧

14 阅读2分钟

import com.example.yeman.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.Text;

import ohos.multimodalinput.event.TouchEvent;

public class MainAbilitySlice extends AbilitySlice implements Component.TouchEventListener{

Text txt;

int count;

@Override

public void onStart(Intent intent) {

super.onStart(intent);

super.setUIContent(ResourceTable.Layout_ability_main);

//通过id找到布局对象(其也可以理解是一种组件)

DirectionalLayout dl = (DirectionalLayout) findComponentById(ResourceTable.Id_dl);

//通过id找到文本框组件

txt = (Text) findComponentById(ResourceTable.Id_txt);

//给整个布局添加滑动事件,当在整个布局上滑动时,就会不断调用本类中onTouchEvent方法

dl.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) {

//component表示滑动的哪个组件,布局也是一种组件,实际上这里示例就是在整个布局上进行的。

//touchEvent表示动作对象(按下,滑动,抬起)。

count++; //可以用来记录一下该方法被调用次数

//获取当前手指对于屏幕进行的操作(按下,滑动,抬起)

int action = touchEvent.getAction(); //1表示按下,2表示抬起,3表示滑动(移动)

if (action == TouchEvent.PRIMARY_POINT_DOWN){

txt.setText("按下" + count);

}else if (action == TouchEvent.PRIMARY_POINT_UP){

txt.setText("抬起" + count);

}else if (action == TouchEvent.POINT_MOVE){

txt.setText("滑动" + count);

}

return true; //返回值为false的话,调用一次后将不会再调用,即只能作用“按下”这个动作

}

}

②ability_main.xml文件

<DirectionalLayout

ohos:id="$+id:dl"

xmlns:ohos="schemas.huawei.com/res/ohos"

ohos:height="match_parent"

ohos:width="match_parent"

ohos:alignment="center"

ohos:orientation="vertical">

<Text

img img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!