android 简单模仿IOS的3D Touch功能

原创 2016年10月19日 18:20:37

        个人对IOS端3D Touch功能很感兴趣,想来自己实现,上网一搜,这类文章并不是很多,于是想自己实现一个。在自己绞尽脑汁的时候在github上搜索到一个开源项目可以实现简单3D Touch功能,在此坐一下笔记,以供后续参考。

话不多说,贴出核心代码:

//设置PeekView选项
PeekViewOptions options = new PeekViewOptions();
options.setBackgroundDim(1f);           // range: 0  - 1  (default is .6)   背景模糊度
options.setHapticFeedback(false);       // default is true

// it may be a good idea to set set these through resources so that you can use different options based on screen size and orientation
options.setWidthPercent(.4f);           // range: .1 - .9 (default is .6)
options.setHeightPercent(.4f);          // range: .1 - .9 (default is .5)

// you can also set the size of the PeekView using absolute values, instead of percentages.
// Setting these will override the corresponding percentage value.
// You should use this instead of setting the size of the view from the layout resources, as those get overridden.
options.setAbsoluteWidth(200);          // 200 DP
options.setAbsoluteHeight(200);         // 200 DP

// default is false. If you change this to true, it will ignore the width and height percentages you set.
options.setFullScreenPeek(true);
// default is true. Unless you are going to animate things yourself, i recommend leaving this as true.
//options.setFadeAnimation(false);
options.setUseFadeAnimation(true);

// PeekView has the ability to blur the background behind it, instead of just using a simple dark dim.
// If you set a blurred view, then it will invalidate whatever you set as your background dim.
// If you do this, please look at the installation steps for the blur effect, or the app will crash.
options.setBlurBackground(true);                            // default is true
// options.setBlurOverlayColor(Color.parse("#99000000"));      // #99000000 default
options.setBlurOverlayColor(Color.parseColor("#99000000"));    //背景颜色

//Peek.into(...).with(options).applyTo(...);


Peek.into(R.layout.image_peek, new SimpleOnPeek() {
    @Override
    public void onInflated(View rootView) {
        WebView mWebView = (WebView) rootView.findViewById(R.id.mWebView);
        final ProgressBar mProgressBar = (ProgressBar) rootView.findViewById(R.id.mProgressBar);
        mWebView.loadUrl("http://www.baidu.com");
        mWebView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return super.shouldOverrideUrlLoading(view, url);
            }
        });

        mWebView.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                if (newProgress==100) {
                    mProgressBar.setVisibility(View.GONE);

                } else {
                    mProgressBar.setVisibility(View.VISIBLE);
                }
                mProgressBar.setProgress(newProgress);

                super.onProgressChanged(view, newProgress);
            }


        });


    }
}).with(options).applyTo(this, baseView);

版权声明:本文为博主原创文章,未经博主允许不得转载。

3D Touch 的实现和系统分享功能

3D Touch其实就是快速进入指定app界面的一种方式。 下面和大家分享一下简单的实现 1、静态标签 静态标签是我们在项目的配置plist文件中配置的标签,在用户安装程序后就可以使用,并且排序...
  • yishengzhiai005
  • yishengzhiai005
  • 2016年12月07日 15:30
  • 1829

iOS系统3DTouch全解析

概述 iOS10系统登录中国,在系统中对3D Touch的使用需求更频繁,所以对iOS9中便引入的3D Touch功能做一些了解是很有必要的 在日常开发中,我们经常需要使用3D Touch...
  • xiaobo0134
  • xiaobo0134
  • 2016年12月13日 16:50
  • 370

模拟器使用3D Touch功能

在模拟器上学习和测试3D Touch    3D Touch是一个很新颖的设计,可是苹果文档有言: With Xcode 7.0 you must develop on a dev...
  • jinglijun
  • jinglijun
  • 2015年12月06日 16:12
  • 3777

仿iPhone的AssistiveTouch 悬浮辅助球工具

用过iphone的朋友都知道,iPhone有个圆球辅助工具,它漂浮在你的手机屏幕(在任何APP之上),你可以将它移动到任何地方,它叫做AssistiveTouch,本篇模拟该软件实现一个小案例,主要是...
  • wulianghuan
  • wulianghuan
  • 2013年05月12日 23:16
  • 8588

IOS实现3DTouch功能

赶需求期间,想着别人应用都搞起3DTouch功能了,咱也来装逼一会,凸显下逼格。 废话少说,先搜索了前人的热心奉献,自己再动手丰衣足食,下面归纳总结下。 首先,想要体验3DTouch功能,必须至少得是...
  • a416863220
  • a416863220
  • 2016年04月22日 10:35
  • 8624

3D Touch开发之App 快速入口标签(快捷菜单)

一、简介:自从苹果公司引入了 3D Touch 功能后,众多开发者,也开在自己的app上实现自己的 3D Touch 效果,今天我也来小秀一把。我们先来看看,3D Touch 下的 app 快速启动入...
  • zhengang007
  • zhengang007
  • 2015年12月16日 11:45
  • 1432

3DTouch在Unity游戏开发中的一个坑

起因  游戏测试过程中有这样一个反馈, 按住控制角色行走, 当按住触摸屏幕左铡边缘部位时, 有时会有1秒左右的延迟. 很是影响游戏的体验. 多次测试后, 具体表现为 表现 1. 支持3DTouch的设...
  • rct1985
  • rct1985
  • 2016年11月11日 11:41
  • 1016

iOS 3D Touch开发 很良心的版本原创!

之前一直在忙着维护项目,偶然的一天闲着玩手机玩到3Dtouch,看着效果挺不错的 于是就尝试着搜索了一下相关的文案,结果除了官网给的全英文api意外国内的基本都 是互相抄袭,我搜了37篇文章,29篇相...
  • werctzzz
  • werctzzz
  • 2015年12月17日 09:51
  • 3135

Android-实现类似3DTouch菜单功能

前言在开发中,我们经常遇到需要菜单功能的实现,我们经常会参考其他人的优秀设计。比如3D Touch菜单,作为iphone6和iphone6s上引人注目的新功能。现在,我们希望尽力来模仿这种菜单设计,尽...
  • z82367825
  • z82367825
  • 2016年10月31日 00:12
  • 2595

关于3D Touch从app图标快速入口篇.

经过最近几天的研究,本人已经做出了一套快速入口的小demo,并且可以让模拟器进行3D Touch的快速入口效果. 一: 让模拟器可以测试3D Touch的快速入口效果步骤(本人也是在gi...
  • wave2588
  • wave2588
  • 2015年09月23日 15:00
  • 1647
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android 简单模仿IOS的3D Touch功能
举报原因:
原因补充:

(最多只允许输入30个字)