为什么苹果6sp苹果手机拖动悬浮球退出软件一碰或者拖动就退出当前界面了?

苹果6sp的允许嘿Siri怎么设置不了了,刚买的时候每次都可以,按home的时候它又听得懂_百度知道
苹果6sp的允许嘿Siri怎么设置不了了,刚买的时候每次都可以,按home的时候它又听得懂
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
嘿siri,互呼唤是在接电源线是才能呼唤
采纳率:43%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Android view的随手指拖动
仿IOS的悬浮圆圈效果
项目里面,有时会碰到需求,要求一个小图标或者布局悬浮于窗体上,像IOS中的小圆点一样
,最好有拖动功能。如何实现呢,分两步走,如果只是要在某个activity中能拖动,直接写
个拖动的自定义控件就行;如果是始终悬浮在应用程序的上面,这时候就要直接在Window中
对于一个view,如果想拖动,可以处理MotionEvent事件,根据触摸事件,来计算位移和偏移
,重新绘制控件的位置。手指按下时,根据MotionEvent获取手指在屏幕上的距离,
event.getRawX();是手指按下的焦点到屏幕左上角的x轴的距离,event.getRawY();是y轴的
距离。补充一句event.getX()是焦点到控件本身左上角的x轴距离,同理event.getY()的功能
自己脑补。
根据MotionEvent判断事件的状态,分为按下,移动,起来。分别在不同的状态做不同的处理
,在MotionEvent.ACTION_DOWN时用两个成员变量 int值记录下按下的位置,startX = (int)
event.getRawX();在MotionEvent.ACTION_MOVE时,获取新的焦点的值,int newX = (int)
event.getRawX();计算偏移的量是多少,int dx = newX - startX;同时求出控件在父控件的
范围内的距离左边的距离,int left = iv_drag_view.getLeft();计算出新的距离左边的距
离,int nleft = left +同理,可以得到控件右侧距离左边的距离,控件距离顶部的距
离等等四个参数。View有个函数 public void layout(int l, int t, int r, int b) {}可
以确定控件的位置,此时调用这个函数正好,控件的位置就移动了,此时再重新初始化手指
的开始位置startX = (int) event.getRawX(); 大体上移动的功能就做好了,如果要记录位
移上次的最终终点,可以在MotionEvent.ACTION_UP中记录一下控件距离左边和顶部的距离,
在下次重新进入该页面时,提前通过LayoutParams设置topMargin和leftMargin。
位移可以在view.setOnTouchListener(event)触摸监听里执行上述逻辑,也可以在view的
onTouchEvent(event)触摸事件机制里执行,看个人爱好。
上述逻辑还有一点小瑕疵,当我们拖着一个view到边界时,当控件的右侧触到屏幕的右边缘
时,此时应该做出处理,不能再往右拖动了,否则控件就会部分移出屏幕外边,UI体验不好
,此时应该在ACTION_MOVE中的view.layout(nleft, ntop, nright, nbottom);之前,把移动
事件跳出即可。if (nleft & 0 || ntop & 0|| nright &
wm.getDefaultDisplay().getWidth()|| nbottom &
wm.getDefaultDisplay().getHeight()) {}
给份相对完整的代码
class DragViewActivity extends Activity {protected static final String TAG = "DragViewActivity";private ImageView iv_drag_private TextView tv_drag_private WindowMprivate SharedPprivate long firstClickT@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);sp = getSharedPreferences("config", MODE_PRIVATE);wm = (WindowManager) getSystemService(WINDOW_SERVICE);setContentView(R.layout.activity_drag_view);iv_drag_view = (ImageView) findViewById(R.id.iv_drag_view);int lastx = sp.getInt("lastx", 0);int lasty = sp.getInt("lasty", 0);// 通过布局参数设置 iv对象的位置, 在第一个阶段测量阶段生效RelativeLayout.LayoutParams params = (LayoutParams) iv_drag_view.getLayoutParams();params.topMargin =params.leftMargin =iv_drag_view.setLayoutParams(params);// 给imageview注册一个手指触摸的事件iv_drag_view.setOnTouchListener(new OnTouchListener() {int startX;int startY;@Overridepublic boolean onTouch(View v, MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_DOWN:// 手指触摸到屏幕的
时候对应的事件Log.i(TAG, "摸到!!");startX = (int) event.getRawX();startY = (int) event.getRawY();case MotionEvent.ACTION_MOVE:// 手指在屏幕上移动
的时候对应的事件Log.i(TAG, "移动!!");int newX = (int) event.getRawX();int newY = (int) event.getRawY();// 计算偏移量int dx = newX - startX;int dy = newY - startY;int left = iv_drag_view.getLeft();int right = iv_drag_view.getRight();int top = iv_drag_view.getTop();int bottom = iv_drag_view.getBottom();// 计算出来新的坐标int nleft = left +int nright = right +int ntop = top +int nbottom = bottom +if (nleft & 0 || ntop & 0|| nright &
wm.getDefaultDisplay().getWidth()|| nbottom &
wm.getDefaultDisplay().getHeight()) {}// 更新imageview在屏幕上的位置.iv_drag_view.layout(nleft, ntop, nright,
nbottom);// 重新初始化手指的开始位置startX = (int) event.getRawX();startY = (int) event.getRawY();case MotionEvent.ACTION_UP:// 手指离开屏幕时候对
应的事件Log.i(TAG, "放手!!");Editor editor = sp.edit();editor.putInt("lastx",
iv_drag_view.getLeft());editor.putInt("lasty",
iv_drag_view.getTop());editor.commit();}// 当前监听器 会消费掉这次事件}}); }
layout布局
&?xml version="1.0" encoding="utf-8"?&
&RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" &
&ImageView
android:id="@+id/iv_drag_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="80dip"
android:src="@drawable/drag" /&
&/RelativeLayout&
RelativeLayout.LayoutParams params = (LayoutParams) iv_drag_view.getLayoutParams();
这一部由布局控制,iv_drag_view的父布局是什么类型的布局,这里对应的就是那个
LayoutParams。有兴趣的可以google一下。
至于长时间显示在各个界面之上的悬浮框,就需要借助service和windowManger了。
在service里面,启动时创建一个WindowManager和一个布局View,然后通过
windowManager.addView(view, params);添加该布局到窗口中,params里面则设置一些该布
局的一些属性,比如宽 高 显示层级等等,在一个类里面转换布局,肯定用到
LayoutInflater,获取LayoutInflater的四种写法,最终都是一样的,调用
LayoutInflater LayoutInflater =(LayoutInflater) context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
在WindowManager调用addView方法时,切记不能重复添加,否则就要报错了,同时在service
关闭时,记得要removeView掉,否则容易内存泄漏。好,上代码
class CopyOfShowAddressService extends Service {protected static final String TAG = "ShowAddressService";private V// 获取到手机的窗体管理器private WindowM@Overridepublic IBinder onBind(Intent intent) {}private WindowManager.LayoutP/*** 自定义土司 把一个view对象显示到手机窗体上* * @param address*/public void showAddress(String address) {view = View.inflate(getApplicationContext(),
R.layout.toast_location,null);// 给窗体上的view对象注册触摸事件view.setOnTouchListener(new OnTouchListener() {int startX;int startY;@Overridepublic boolean onTouch(View v, MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_DOWN:Log.i(TAG, "呼叫界面,更改位置+摸到");startX = (int) event.getRawX();startY = (int) event.getRawY();case MotionEvent.ACTION_MOVE:Log.i(TAG, "呼叫界面,更改位置+移动");int newX = (int) event.getRawX();int newY = (int) event.getRawY();int dx = newX - startX;int dy = newY - startY;// 更改view对象在窗体上显示的位置.params.x +=params.y +=if (params.x & 0) {params.x = 0;}if (params.y & 0) {params.y = 0;}if (params.x & wm.getDefaultDisplay
().getWidth()) {params.x = wm.getDefaultDisplay
().getWidth();}if (params.y & wm.getDefaultDisplay
().getHeight()) {params.y = wm.getDefaultDisplay
().getHeight();}wm.updateViewLayout(view, params);// 重新初始化手指的位置startX = (int) event.getRawX();startY = (int) event.getRawY();case MotionEvent.ACTION_UP:int lastx = params.x;int lasty = params.y;SharedPreferences sp =
getSharedPreferences("config",Context.MODE_PRIVATE);Editor editor = sp.edit();editor.putInt("lastx", lastx);editor.putInt("lasty", lasty);editor.commit();}}});TextView tv = (TextView) view.findViewById
(R.id.tv_toast_address);tv.setText(address);SharedPreferences sp = getSharedPreferences("config",
MODE_PRIVATE);params = new WindowManager.LayoutParams();params.gravity = Gravity.TOP | Gravity.LEFT;int lastx = sp.getInt("lastx", 0);int lasty = sp.getInt("lasty", 0);params.x =params.y =params.height = WindowManager.LayoutParams.WRAP_CONTENT;params.width = WindowManager.LayoutParams.WRAP_CONTENT;// 定义控件 可以触摸 删除一个flagparams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;params.format = PixelFormat.TRANSLUCENT;// 定义窗体的类型 TYPE_PRIORITY_PHONEparams.type = WindowManager.LayoutParams.TYPE_PRIORITY_PHONE;wm.addView(view, params);}@Overridepublic void onCreate() {wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);showAddress("");super.onCreate();}@Overridepublic void onDestroy() {if (view != null) {wm.removeView(view);view =}super.onDestroy();}
代码里有注释,已经很清楚了。该控件如果需要点击事件,直接注册
view.setOnClickListener()即可,同时注意把view.setOnTouchListener()中的返回值改为
false,因为注册了点击事件,就相当于触摸事件消费了,如果还是设置为true,则点击事件
无效,不会被执行。
安卓悬浮圆点功能
android仿IOS 旋转菊花Loading、等待Loading、花瓣
仿iphone快速导航悬浮球
Android 实现高仿iOS桌面效果之可拖动的GridView(上)
模仿苹果虚拟悬浮按钮(自动靠边、可浮现任何界面上)
Android最简单的实现View拖拽跟随手指移动效果
触摸图标随着手指移动
Android仿IOS的AssistiveTouch的控件EasyTouch实现
自定义圆形View:实现跟随手指移动的小球
Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果
没有更多推荐了,买了个6sp,说下优缺点【手机吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:3,669,456贴子:
买了个6sp,说下优缺点收藏
买了个6sp,说下优缺点
首先之所以选择6系,不是因为它比8便宜,主要是因为还保留了耳机孔,对于我经常听歌的,这是必须的。
先说缺点:1这么大手机没有返回键,悬浮球打游戏时各种碍事,看视频也影响心情,2,没有类似安卓的桌面小部件,看天气得打开软件,3整理桌面图标麻烦4.不能自定义铃声,除非自己制作导入。5.没有下载软件可以使用,系统太封闭,太霸道。6系统也没有文件的概念,除非越狱。7有点沉,玩久了累。
总体而言,感觉苹果不适合妹子用,因为不可能玩的转。优点就说一点,也是比安卓强的地方,系统优化好,不会产生辣鸡文件,所有软件都是包的概念。
最大的缺点,没有双卡双待!充电慢!!
你6s升ios11就是在用安卓的ios
穷呀,买不起
所以,手持6p换安卓
联通好用吗?
哇 现在还6sp
我觉得苹果最大的缺点就是电池不耐用
买8不也有耳机,如果你打算边充边听音乐,也可以买个转接头,个人认为没必要买6s
优点:苹果缺点:苹果
收养通知 人有悲欢离合,月有阴晴圆缺,让不幸的儿童得到您父亲般的温暖!
这几位是手机吧的几位孤儿,在叙利亚的战争中不幸遇难。这几位外国小朋友的上一任养父母不幸遇难,天若有情天亦老,手机吧有情来抱抱,我们手机吧200万吊大的男人相信会有人愿意接受你,让你们融入新的家庭! 我在次宣布,有愿意收养这五个孩子的将获得如下奖励!当爹奖励:认领其中一位孤儿有机会获得中国徐工集团挖掘机一台!+iphoneX手机一部256g+现金奖励2000元或阿迪达斯2017定制内裤一条+阿富汗叙利亚伊拉克三日游+人寿意外险一年!奖励领取办法,粘贴本短文字到百度贴吧无敌北丐洪七公贴一下,奖励由他给予! 大爱无边,手机吧同志们多给这几个孤儿一点爱吧! (别问他上个养父母怎么死的了,叙利亚阿富汗伊拉克旅游时被打死的,意外保险赔了一大比,不然买挖掘机爱疯手机的钱怎么来的,括号内删除)
个人觉得天天带着转接头烦人
多少钱?我也想买
薛定谔1999
耳机?airpods
像我这种嫌耳机孔进灰尘的人应该没有吧
6sp?还ios11?
曾经我也是在纠结这个耳机孔的问题 没有耳机孔真** 买了7
我更喜欢这耳机
小米7中国国内首发高通骁龙845。第一季度就会出货,2月发布是最可靠的消息。 三星的10纳米工艺早就很成熟了,不会像835那样拖拉。小米7发布时间大概注意是大概有可能会在2018年2月份。我告诉大家。还有4个月,高通845,全球5G芯片。厉害不?光5G基带这点,苹果7,7p看了都得跪。望尘莫及。
手持6sp打算换安卓,最大缺点没双卡双待
嫌弃充电慢就换个1.5A,2A的充电器吧。我看那么多人担心2A烧手机,大哥们,安卓10W都多少年了,现在都标配18W,24W快充了,55W都有样品了,你们居然担心这个?苹果标配1A就是为了省钱
看天气的话状态栏就有了啊,不用打开软件,安卓不也得返回主题才看得到吗?如果你在微信想看天气,安卓要返回主题,苹果向下滑在右滑一下就得了,没有返回键这个可以说有利有弊,利就是玩游戏的时候没有误触,不好的就是操作不方便,不过大部分应用都支持右滑返回,只能说习惯的问题
登录百度帐号苹果6sp的护眼模式怎么调_百度知道
苹果6sp的护眼模式怎么调
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
打开“设置-通用-辅助功能”,找到“增强对比度”;打开“减少白点”选项,这样屏幕会马上降低亮色程度!大家可以在自己的iphone上试一下感受一下前后效果;降低亮色程度以后,如果还觉得不够,可以打开iphone 的滤镜功能,进入“设置-通用-辅助功能”,选择“缩放”;然后点击“缩放区域”选择“全屏幕缩放”打开“设置-通用-辅助功能-辅助功能快捷键”,点击“缩放”就可以将默认选项设置为缩放;然后用三根手指头快速点击屏幕三次,记得是三根手指头哦,在弹出的窗口中选择“选取滤镜”,然后选择“弱光”;这样以后想要将光线快速降低,只需要三根手指快击三次就能实现了,想要恢复到原来的亮度也是快击三次!
采纳率:99%
苹果6sp调试Night Shift,具体方法:1,在桌面打开设置进入;2,设置进入后,打开显示与亮度进入;3,显示与亮度进入后,选Night Shift进入;4、Night Shift进入后,左右拖动即可。
●苹果手机护眼模式“Night Shift”:1、在主屏幕依次选择:“设置-显示与亮度-Night Shift”,可以打开Night Shift界面,开启“设定时间”按钮,然后点击下方“定时栏”。2、选择“打开”设置开启时间,选择“关闭”设置关闭时间。3、在“色温”下方滑动按钮可以调整色温为较冷或较暖。最后,还可以从主屏幕底部向上轻扫显示“控制中心”,按“Night Shift”图标打开或关闭。
本回答被网友采纳
为您推荐:
其他类似问题
您可能关注的内容
勃兰兑斯的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。苹果6sp home键是感应的还是按压的_百度知道
苹果6sp home键是感应的还是按压的
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
苹果6splus的home键是感应的手机虚拟【home】键的设置方法:打开手机【设置】点击【通用】点击【辅助功能】点击【AssisiveTouch】打开,桌面会出现一个白色圆圈,设置成功。
采纳率:100%
安按压的,目前只有7和7plus是感应
本回答被提问者采纳
小圆点怎么设置一、依次进入设置】--&【通用】--&【辅助功能】设置,二、进入苹果辅助功能设置后,点击进入【AssistiveTouch】设置,开启AssistiveTouch手势操作功能后,小白点就开启了,出现在屏幕上,如果选择关闭,就不会出现在屏幕上了三、可以任意拖动小白点在界面中显示的位置,点击小白点会弹出主屏幕、控制中心、设备、个人收藏夹等设置操作。苹果的AssistiveTouch手势操作功能非常丰富,自行体验一下
本回答被网友采纳
是按压的,。
不太容易坏,我6s用了一年没坏7P是感应的,具体手感我不好说,
其他1条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 苹果6p悬浮球里面功能如何拖动 的文章

 

随机推荐