当前位置:首页 » 安卓系统 » android触摸操作

android触摸操作

发布时间: 2022-07-25 00:03:58

‘壹’ android 触摸模式 和非触摸模式 是什么意思

前者是你可以用手指正常操作,后者可以让你在戴手套或者不触摸到屏幕的情况下使用

‘贰’ android 上如何关闭多点触摸啊

AndroidManifest.xml中,在对应的activity中加入下面的样式即可禁止当前页面的多点触摸,如果是整个应用都不需要的话,则直接在application中设置Theme即可。

<!-- 禁用多点触控 -->
<style name="NoSplitTouch" parent="AppTheme">
<item name="android:windowEnableSplitTouch">false</item>
<item name="android:splitMotionEvents">false</item>
</style>

‘叁’ 安卓手机触摸屏不灵敏了怎么办

若使用的是vivo手机,这是屏幕不灵敏处理方法:

1、升级手机的系统版本号,在手机的设置--系统升级页面或我的设备-iQOO UI页面检测升级;
2、重启手机,清除后台运行所有软件;
3、判断是单个软件还是所有软件在固定区域触屏不灵敏;
4、通过手机录屏,查看录屏中的触摸轨迹白点,判断是软件问题还是屏幕原因;
5、使用原装保护膜,清洁手指污渍;
6、还原所有设置,操作方法:进入设置--系统管理--备份与重置--还原所有设置,点击进入并根据屏幕提示进行操作。还原所有设置不会删除任何数据或媒体文件,会还原手机的所有设置,部分第三方应用帐号需要重新登录,请确认不影响您某些第三方软件的使用后再进行操作。
7、以上方式排查后还是如此,可携带手机前往服务中心检测处理,进入浏览器搜索vivo官网--服务--服务中心--查看全部--选择省市查询当地的服务中心地址以及联系方式。

‘肆’ android平台中页面切换时如果要用触摸屏左右滑动,怎么实现

左右滑动切换是通过viewPager来实现的,完整代码查看附件。

ViewPager的数据是通过PageAdapter来装载的:

1.调用adapter.notifyDataSetChanged(); 刷新控件,但是要覆盖PagerAdapter的getItemPosition方法,并返回return POSITION_NONE;

2.利用PagerAdapter的工作机制,就是PagerAdapter的执行顺序,PagerAdapter作为ViewPager的适配器,无论ViewPager有多少页,PagerAdapter在初始化时也只初始化开始的2个View,即调用2次instantiateItem方法。而接下来每当ViewPager滑动时,PagerAdapter都会调用destroyItem方法将距离该页2个步幅以上的那个View销毁,以此保证PagerAdapter最多只管辖3个View,且当前View是3个中的中间一个,如果当前View缺少两边的View,那么就instantiateItem,如里有超过2个步幅的就destroyItem。

3.每当Adapter调用instantiateItem时,运用View.setTag方法将该View标识。当需要更新这个View的数据时,通过调用ViewPager.findViewWithTag方法找到相应的View,然后更新View中的数据。

‘伍’ android模拟器怎么使用多点触摸

如果想要放大效果的话在空白处点击滑动就会弹出放大缩小按钮。。至于其他效果。。等待学习。

‘陆’ 安卓华为手机怎么设置触摸会有小白点

手机显示触摸
1/6
点开手机设置,如图 找到开发者选项.一般这个选项都是在倒数第二个。

2/6
点开开发者选项,一直向下翻,找到输入项,在其中找到显示触摸操作,将开关点开。

3/6
此时再在手机屏幕上进行操作时就可以看到一个白色的圆点,来显示触摸的位置了。

4/6
如果手机中没有开发者选项,可以 点开设置——关于手机——双击版本号来调出开发者选项。

5/6
这个功能可以应用于一些录屏软件,如果录屏软件中没有触摸点显示功能,就可以将手机上的功能打开,这样录出来的视频,就会更清晰,明了,易于解说。

6/6
同样,如果不想要这个功能,觉得操作时有些碍眼的话,也可以将刚刚打开的开关关掉就可以了。这样白色的圆点就没有了。

‘柒’ 安卓手机有一个设置。 好像是开发者选项里。 可以设置一个小白点。 那个小白点在操作屏幕时跟着手走。

设置——通用——辅助功能——AssistiveTouch——打开“AssistiveTouch”,选择“自定顶层菜单”,可以任意更改图标。

‘捌’ android怎样可以控制手势滑动的

我们先来明确一些概念,首先,Android的事件处理机制是基于Listener(监听器)来实现的,比我们今天所说的触摸屏相关的事件,就是通 过onTouchListener。其次,所有View的子类都可以通过setOnTouchListener()、 setOnKeyListener()等方法来添加对某一类事件的监听器。第三,Listener一般会以Interface(接口)的方式来提供,其中 包含一个或多个abstract(抽象)方法,我们需要实现这些方法来完成onTouch()、onKey()等等的操作。这样,当我们给某个view设 置了事件Listener,并实现了其中的抽象方法以后,程序便可以在特定的事件被dispatch到该view的时候,通过callbakc函数给予适 当的响应。
看一个简单的例子,就用最简单的TextView来说明(事实上和ADT中生成的skeleton没有什么区别)。
Java代码

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// init TextView
TextView tv = (TextView) findViewById(R.id.page);

// set OnTouchListener on TextView
tv.setOnTouchListener(this);

// show some text
tv.setText(R.string.text);
}

@Override
public boolean onTouch(View v, MotionEvent event) {
Toast.makeText(this, "onTouch", Toast.LENGTH_SHORT).show();
return false;
}

我们给TextView的实例tv设定了一个onTouchListener,因为GestureTest类实现了OnTouchListener 接口,所以简单的给一个this作为参数即可。onTouch方法则是实现了OnTouchListener中的抽象方法,我们只要在这里添加逻辑代码即 可在用户触摸屏幕时做出响应,就像我们这里所做的——打出一个提示信息。
这里,我们可以通过MotionEvent的getAction()方法来获取Touch事件的类型,包括 ACTION_DOWN, ACTION_MOVE, ACTION_UP, 和ACTION_CANCEL。ACTION_DOWN是指按下触摸屏,ACTION_MOVE是指按下触摸屏后移动受力点,ACTION_UP则是指松 开触摸屏,ACTION_CANCEL不会由用户直接触发(所以不在今天的讨论范围,请参考ViewGroup.onInterceptTouchEvent(MotionEvent))。借助对于用户不同操作的判断,结合getRawX()、getRawY()、getX()和getY()等方法来获取坐标后,我们可以实现诸如拖动某一个按钮,拖动滚动条等功能。待机可以看看MotionEvent类的文档,另外也可以看考TouchPaint例子。
回到今天所要说的重点,当我们捕捉到Touch操作的时候,如何识别出用户的Gesture?这里我们需要GestureDetector.OnGestureListener接口的帮助,于是我们的GestureTest类就变成了这个样子。
Java代码

public class GestureTest extends Activity implements OnTouchListener,
OnGestureListener {
....
}

随后,在onTouch()方法中,我们调用GestureDetector的onTouchEvent()方法,将捕捉到的MotionEvent交给 GestureDetector 来分析是否有合适的callback函数来处理用户的手势。
Java代码

@Override
public boolean onTouch(View v, MotionEvent event) {

// OnGestureListener will analyzes the given motion event
return mGestureDetector.onTouchEvent(event);
}

接下来,我们实现了以下6个抽象方法,其中最有用的当然是onFling()、onScroll()和onLongPress()了。我已经把每一个方法代表的手势的意思写在了注释里,大家看一下就明白了。
// 用户轻触触摸屏,由1个MotionEvent ACTION_DOWN触发Java代码

@Override
public boolean onDown(MotionEvent e) {

// TODO Auto-generated method stub
Toast.makeText(this, "onDown", Toast.LENGTH_SHORT).show();

return false;
}

// 用户轻触触摸屏,尚未松开或拖动,由一个1个MotionEvent ACTION_DOWN触发
// 注意和onDown()的区别,强调的是没有松开或者拖动的状态

@Override
public void onShowPress(MotionEvent e) {

// TODO Auto-generated method stub
}

用户(轻触触摸屏后)松开,由一个1个MotionEvent ACTION_UP触发

@Override

public boolean onSingleTapUp(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}

用户按下触摸屏、快速移动后松开,由1个MotionEvent ACTION_DOWN, 多个ACTION_MOVE, 1个ACTION_UP触发

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,

float velocityY) {
// TODO Auto-generated method stub
return false;
}

// 用户长按触摸屏,由多个MotionEvent ACTION_DOWN触发
@Override
public void onLongPress(MotionEvent e) {
// TODO Auto-generated method stub
}

// 用户按下触摸屏,并拖动,由1个MotionEvent ACTION_DOWN, 多个ACTION_MOVE触发
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
// TODO Auto-generated method stub
return false;
}

我们来试着做一个onFling()事件的处理吧,onFling()方法中每一个参数的意义我写在注释中了,需要注意的是Fling事件的处理代 码中,除了第一个触发Fling的ACTION_DOWN和最后一个ACTION_MOVE中包含的坐标等信息外,我们还可以根据用户在X轴或者Y轴上的 移动速度作为条件。比如下面的代码中我们就在用户移动超过100个像素,且X轴上每秒的移动速度大于200像素时才进行处理。

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {

// 参数解释:
// e1:第1个ACTION_DOWN MotionEvent
// e2:最后一个ACTION_MOVE MotionEvent
// velocityX:X轴上的移动速度,像素/秒
// velocityY:Y轴上的移动速度,像素/秒
// 触发条件 :
// X轴的坐标位移大于FLING_MIN_DISTANCE,且移动速度大于FLING_MIN_VELOCITY个像素/秒
if (e1.getX() - e2.getX() > FLING_MIN_DISTANCE
&& Math.abs(velocityX) > FLING_MIN_VELOCITY) {

// Fling left
Toast.makeText(this, "Fling Left", Toast.LENGTH_SHORT).show();
} else
if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE
&& Math.abs(velocityX) > FLING_MIN_VELOCITY) {

// Fling right
Toast.makeText(this, "Fling Right", Toast.LENGTH_SHORT).show();
}

return false;
}

问题是,这个时候如果我们尝试去运行程序,你会发现我们根本得不到想要的结果,跟踪代码的执行的会发现onFling()事件一直就没有被捕捉到。这正是一开始困扰我的问题,这到底是为什么呢?
我在讨论组的Gesture detection这个帖子里找到了答案,即我们需要在onCreate中tv.setOnTouchListener(this);之后添加如下一句代码。
tv.setLongClickable(true);
只有这样,view才能够处理不同于Tap(轻触)的hold(即ACTION_MOVE,或者多个ACTION_DOWN),我们同样可以通过layout定义中的android:longClickable来做到这一点。
这次遇到的这个问题和上次MapView中setOnKeyListener遇到的问题挺类似,其实都是对SDK的了解不够全面,遇到了一次记住了就好。不过话说回来,Google在文档方面确实需要加强了,起码可以在OnGestureListener中说明需要满足那些条件才可以保证手势被正确识别。

‘玖’ 安卓触摸屏失灵怎么办

若使用vivo手机,屏幕失灵可参考以下处理方法:
1、屏幕不干净造成的屏幕不灵敏; 用干净的无尘布将手机上的脏污、水渍擦拭干净。
2、手机有贴膜 确认用户是否贴膜之后出现屏幕失灵问题,可将膜去掉再使用对比。
3、操作耽搁软件时屏幕失灵;可备份好软件数据,进入设置--应用与权限/更多设置--应用管理--更多--显示系统进程--找到软件--存储--清除数据;
Funtouch OS 9(不包括)以下其他机型:需进入设置--更多设置--应用程序--全部,清除数据。将该软件的版本升级到最新,或者卸载重装试试。
4、运行内存不足导致屏幕失灵; 手机运行过多的软件后,运行空间达到满负荷,需要更多的时间来 加载信息,从而出现暂时性触控失灵现象。调出后台运行软件,一键加速清理后台;将手机重启一下。
5、手机有静电导致暂时性屏幕失灵,可用潮湿的软布轻轻擦拭;
6、数据引起的屏幕失灵; 进入手机设置--系统管理更多设置--备份与重置/恢复出厂设置,或重装系统,操作前请提前备份好重要资料。
7、若以上方法未改善,可以携带手机、购机发票、保修卡去服务中心检测处理, 进入vivo官网/vivo商城APP--我的--网点查询/售后网点,选择您当前所在的城市即可获取客户服务中心的地址以及联系方式,建议去之前电话联系,确保有工作人员接待再过去,避免白跑一趟。

‘拾’ android模拟器如何模拟多点触摸的操作

我用笔记本可以,需要同时使用触控板和鼠标

  1. 先用两根手指放在触控板拉伸,会出现两圆一点

  2. 移动圆圈实现旋转,或缩小放大

热点内容
ibatissqlnotin 发布:2025-01-22 14:42:25 浏览:326
java电子书软件下载 发布:2025-01-22 14:41:41 浏览:729
tomcat远程访问 发布:2025-01-22 14:41:33 浏览:960
a算法解决八数码问题 发布:2025-01-22 14:32:39 浏览:273
python编译exe 发布:2025-01-22 14:31:11 浏览:451
现在密码箱多少钱 发布:2025-01-22 14:30:26 浏览:970
aspnet访问access 发布:2025-01-22 14:14:15 浏览:924
鸿蒙系统和安卓的哪个耗电 发布:2025-01-22 14:12:46 浏览:577
上海大众压缩机 发布:2025-01-22 14:02:31 浏览:48
读取excel的sql 发布:2025-01-22 13:59:58 浏览:865