一步一步学android之事件篇——长按事件
16lz
2021-01-26
长按事件在很多地方都会用到,长按弹出窗口,长按删除等等,这些都是需要OnLongClickListener监听的,这个接口定义如下:
public static interface View.OnLongClickListener{ public boolean onLongClick(View v);}
下面同样用一个例子(更换桌面背景)来看看长按事件的使用,效果如下:
main.xml:
MainActivity.java:
package com.example.onlongclicklistenerdemo;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.Window;import android.widget.ImageView;import android.widget.TextView;public class MainActivity extends Activity {private ImageView wallpaper = null;private TextView showInfo = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);initView();}private void initView(){wallpaper = (ImageView)super.findViewById(R.id.wallpaper);showInfo = (TextView)super.findViewById(R.id.showInfo);wallpaper.setOnLongClickListener(new View.OnLongClickListener() {@Overridepublic boolean onLongClick(View v) {try {//清除默认的壁纸MainActivity.this.clearWallpaper();//设置ImageView中的图片为壁纸MainActivity.this.setWallpaper(MainActivity.this.getResources().openRawResource(R.drawable.wallpaper));MainActivity.this.showInfo.setText("-----设置成功-----");} catch (Exception e) {MainActivity.this.showInfo.setText("-----设置失败-----");}//默认是return false,返回true时,表示已经完整地处理了这个事件,//并不希望其他的回调方法再次进行处理;当返回false时,表示并没有完全处理//完该事件,更希望其他方法继续对其进行处理return true;}});}}
因为更换壁纸属于手机的支持服务,所以又需要加操作权限,AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
长按事件就说到这里了。。。
更多相关文章
- android studio 中的编码问题
- Android(安卓)Sqlite synchronous设置
- Android(安卓)基础-1.0 按钮4种点击事件
- android模拟器不能上网
- Android(安卓)获取、移除 View 的 OnClickListener
- android在XML配置seekbar时最好不要设置progress的初始值
- 使用Android(安卓)Studio打包生成Jar包
- Android常亮设置以及读取电量
- android中事件传递机制(2)