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);

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30936699/article/details/52862017

组合查询

用PB进行数据库应用系统开发时,我们经常要对大量的数据进行筛选、查询,得到符合要求的记录,这就需要用到组合条件查询功能。我在作应用系统开发时,就自己编写了一个简单而又实用的组合条件查询模板窗口,只要用...
  • xingjiaren
  • xingjiaren
  • 2001-04-10 14:22:00
  • 736

android listview仿ios 3dTouch效果

最近项目上要求在listview上实现类似ios 3dTouch功能,现在网上搜索一番,发现该文章很好的实现了这个功能,于是在这文章的基础上我自己做了一个改进。效果如图所示:             ...
  • cuckoochun
  • cuckoochun
  • 2017-08-04 23:42:45
  • 579

模拟ios——3dTouch

  • 2015年10月10日 21:25
  • 5.54MB
  • 下载

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

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

安卓长按后的释放响应(长按模仿iphone6s的3DTouch)

安卓长按后的释放响应(长按模仿6s的3DTouch)我个人觉得iphone的新技术–3dtouch有点多余,我也体验过真机,觉得用长按来取代足够了,看发布会的时候王自如说安卓的长按做不到长按后的释放响...
  • dct8888
  • dct8888
  • 2015-10-10 21:27:29
  • 2765

模拟器使用3D Touch功能

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

3D Touch 使用心得(仿微信3D Touch)

3D Touch简介随着iOS9以及iPhone 6s和iPhone 6s plus的发布,苹果添加一种立体的用户界面: 用户在主屏幕上不需要打开APP,按压图标就可以快速访问APP提供的一些功能。...
  • jinglijun
  • jinglijun
  • 2015-12-06 16:01:57
  • 3707

Android各控件Demo下载地址

第一部分 个性化控件(View) 主要介绍那些不错个性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、...
  • orchid_gril
  • orchid_gril
  • 2016-05-19 18:12:08
  • 3979

android实现高仿新版今日头条app1(框架部分)

用博客记录自己的编程过程,能解决编程枯燥并带来乐趣! just try it. 高仿今日头条app,首先底部4个tab切换,用linearlayout +imageview+textview的方式取...
  • qq_33703346
  • qq_33703346
  • 2016-07-18 09:21:44
  • 317

仿某助手,通过浏览器直接打开Android 自己的App 应用程序(支持几乎所有浏览器、app)

怎么在android实现通过浏览器点击链接打开apk? 为了实现这个功能可折腾了我好久。 上网搜搜,很多都是说用启动应用程序  然后自己app注册一个scheme,然后可以点击这种链接就可以启动...
  • luozhuang
  • luozhuang
  • 2016-05-26 16:11:32
  • 3333
收藏助手
不良信息举报
您举报文章:android 简单模仿IOS的3D Touch功能
举报原因:
原因补充:

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