导航:首页 > 操作系统 > android监听屏幕关闭

android监听屏幕关闭

发布时间:2023-04-16 02:09:23

Ⅰ 如何监听android的屏幕滑动停止事件

一般情况下,你在MotionEvent.ACTION_UP或者MotionEvent.ACTION_POINTER_UP等UP事件的回调中处理即可,因为手指在屏幕上如果按着即使不动的情况下,其实Action_move仍在回调,就是用户比较难模拟孝敬出来那种完全手指按着屏幕清蠢一个像素点也没有动的情况。
或者你不想在UP事件中处理,那么就答慎陪在Move中检测单位事件内移动的具体,比如100ms内如果用户手指移动距离小于你自己定义的阀值的话,可以认为用户没有移动手指。
写了半天才发现你问的不是这个问题。
你的问题可以通过先计算你将要滑动屏幕到的最终位置,然后通过判断你现在已经滑动到的位置,如果两个位置间的距离小于某个阀值比如一像素的话,那么就可以看做屏幕滑动停止了。
可以参考一下launcher中对屏幕滑动结束的处理逻辑。

Ⅱ Android 手机软键盘的弹起和关闭的监听

       在猜迟掘很多Android App 开发的过程中,需要对Activity 中 软键盘的弹起和关闭进项监听,但是Andoid中并没有提供相对应的api进行监听, 我有一个简单的方法。

首先需要知道穗核一些基础知识

在manifest文件中可以设置Activity的android:windowSoftInputMode属性,这个属性值常见的设置如下:android:windowSoftInputMode="stateAlwaysHidden|adjustPan"

那么这里值的含义列表如下:

1、stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置

2、stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示

3、stateHidden:用户选择activity时旦含,软键盘总是被隐藏

4、stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的

5、stateVisible:软键盘通常是可见的

6、stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态

7、adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示

8、adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间

9、adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分

案例:

1.我们需要将监听所在的Activity在Manifest文件中的设置为如下形式:

<activity 

android:name="com.zy.project.MainActivity"

android:label="@string/app_name"

android:windowSoftInputMode="stateAlwaysHidden|adjustResize" >

<intent-filter>

         <action android:name="android.intent.action.MAIN/>

        <category android:name="android.intent.category.LAUNCHER/>

</intent-filter>

</activity>

当有软键盘弹起时,Activity的布局大小会被滚动上去,但是你仍然可以通过滑动浏览所有。

2 需要在外层布局文件设置一个id,并在activity 中设置监听

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnLayoutChangeListener;

import android.widget.Toast;

public class MainActivity extends Activity implements OnLayoutChangeListener{

//Activity最外层的Layout视图

private View rootView;

//屏幕高度

private int screenHeight = 0;

//软件盘弹起后所占高度阀值 一般是占用屏幕的1/3

private int keyHeight = 0;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

rootView = findViewById(R.id.root_layout);

//获取屏幕高度

screenHeight = this.getWindowManager().getDefaultDisplay().getHeight();

//阀值设置为屏幕高度的1/3

keyHeight = screenHeight/3;

}

@Override

protected void onResume() {

super.onResume();

//添加layout大小发生改变监听器

rootView.addOnLayoutChangeListener(this);

}

@Override

public void onLayoutChange(View v, int left, int top, int right,int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {

//old是改变前的左上右下坐标点值,没有old的是改变后的左上右下坐标点值

// System.out.println(oldLeft + " " + oldTop +" " + oldRight + " " + oldBottom);

// System.out.println(left + " " + top +" " + right + " " + bottom);

//现在认为只要控件将Activity向上推的高度超过了1/3屏幕高,就认为软键盘弹起

if(oldBottom != 0 && bottom != 0 &&(oldBottom - bottom > keyHeight)){

Toast.makeText(MainActivity.this, "监听到软键盘弹起...", Toast.LENGTH_SHORT).show();

}else if(oldBottom != 0 && bottom != 0 &&(bottom - oldBottom > keyHeight)){

Toast.makeText(MainActivity.this, "监听到软件盘关闭...", Toast.LENGTH_SHORT).show();

}

}

本文来自:http://m.blog.csdn.net/bear_huangzhen/article/details/45896333

Ⅲ android 如何监听屏幕当前是否全屏

可以在屏幕的Activity加监听屏幕属性改变,发生改变则检查当前是否全屏状态。
是全屏状态发送,全屏的广播消息,到监听应用触发操作。
@Override
public void onWindowAttributesChanged(LayoutParams params) {
// TODO Auto-generated method stub
super.onWindowAttributesChanged(params);
Log.e(TAG,"onWindowAttributesChanged()"+getWindow().getAttributes().flags);
if (WindowManager.LayoutParams.FLAG_FULLSCREEN == getWindow().getAttributes().flags) {
Log.e(TAG,"onWindowAttributesChanged() FLAG_FULLSCREEN");
}
}
(注意该判断在屏幕切换横竖屏是也会触发,需要根据实际情况过滤横竖屏切换的情况。)

Ⅳ 如何关闭手机屏幕朗读功能呢

如果您使用的是华为手机,可以通过以下方法操作:
1. 通过快捷方式关闭TalkBack
快捷方式一:
温馨提示:
(1)Android 8.0及以上版本支持迅轿通过快捷方式关闭TalkBack,可在关于手机页面,查看Android版本。Android 8.0以下版本请通过设置界面关闭TalkBack。
(2)使用快捷方式退出的前提:进入TalkBack之前已在设置中开启无障碍快捷方式、屏幕锁定时可用相关开关,如没有提前开启,或此操作无法退出,请尝试其他方式。
在锁屏界面或桌面,同时按住音量上键+音量下键3秒左右,即可快速退出TalkBack模式。
快捷方式二:
长按电源键,直到出现关机界面,稍等5秒后,双指长按屏幕3秒以上,即可快速退出TalkBack模式。
快捷方式三:
如果您在进入此模式前已开启智慧语音唤醒,可以通过语音唤醒/电源键唤醒的方式,唤醒智慧语音,说出关闭指令,如“关闭盲人模式”,即可快速退出TalkBack模式。
2. 通过设置界面关闭TalkBack
TalkBack模式下,滑动屏幕需双指同时滑动;单击选中目标罩昌悄,选中后目标会出现绿框;在屏幕任意位置双击即可激活目标。
请根据您的手机系统版本选择不同方物渣式设置TalkBack。
EMUI 10.X:点击设置 > 辅助功能 > 无障碍 > 屏幕朗读 ,关闭屏幕朗读开关;
EMUI 8.X&EMUI 9.X:点击设置 > 智能辅助 > 无障碍 > TalkBack ,关闭TalkBack开关;
EMUI 4.X&EMUI 5.X:点击设置 > 高级设置 > 辅助功能 > TalkBack , 关闭TalkBack开关;
EMUI 3.1:点击设置 > 辅助功能 > TalkBack ,关闭TalkBack的开关。

Ⅳ 如何监听android的屏幕滑动停止事件

定义四个变量塌带,
int posX,posY;
int currntX,currntY;
public boolean onTouchEvent(MotionEvent event){
switch (event.getAction())
{

case MotionEvent.ACTION_DOWN:
posX=(int)event.getX();
posY=(int)enent.getY();

break;

case MotionEvent.ACTION_UP:
currntX=(int) event.getX();
currntX=(int) event.getX();
break;
//然后按下抬起时的颤消坐标减去按下的坐标,根据差值判断滑茄衫知动动作就行了。

}

return true;
}

Ⅵ Android 横屏旋转180°监听方式

横屏180°旋转系统不会回调到到 onConfigurationChanged() ,只能使用其他的方案,目前有2个方案
1、使用 OrientationEventListener 监听屏幕的旋转,里面本质使用的是 TYPE_ACCELEROMETER 传感器,具体如下:

开启调用 mOrientationListener. enable() , 关闭调用 mOrientationListener. disable() ;这种方式对性能消耗比较大, 但是可以获取到手机当前的角度

2、使用监听 DisplayManager 方式,手机切换方向会导致UI 显示的改变唯顷,所以会回调指嫌陆到这里

这种方式不会耗性能者颤

Ⅶ 如何监听android的屏幕滑动停止事件

android的屏幕滑动简消停止事件监听方法为:
1、自定义一个ScrollView,内容只要将标准的ScrollView 拷庆迟贝出来,然后就可以利用Scroller的两个属性去判断是否滚动完毕:
public final boolean isFinished() {
return mFinished;
}
public final int getDuration() {
return mDuration;
}
2、启动线程来获得当前的scrollview的高度,并实时更新就可以了,一旦高度不再发生变化则判断为停止誉咐李。

Ⅷ android开发如何在广播里启动一个 activity

Intent intent1=new Intent(context,main.class);
intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent1);
System.out.println("进入锁屏界面2");

阅读全文

与android监听屏幕关闭相关的资料

热点内容
博科清空命令 浏览:384
简爱英文pdf 浏览:376
cnc编程有前途吗 浏览:586
联想app怎么联网 浏览:722
linuxftp命令登录 浏览:1000
android获取图片缩略图 浏览:646
神户制钢螺杆压缩机 浏览:29
差分演化算法 浏览:567
中山市加密软件 浏览:446
mc反编译源码 浏览:139
企业商城网站源码 浏览:411
shell脚本编程是什么 浏览:762
单片机led闪烁汇编 浏览:203
点淘app怎么没金蛋了 浏览:878
app拉新哪里找推广码 浏览:935
哪个app生活服务好 浏览:108
mht安卓用什么软件打开 浏览:320
html5即时通讯源码 浏览:144
python编程基础豆瓣 浏览:710
程序员乱码是什么意思 浏览:373