首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当用户在inageviewer应用程序中按下图片3-5秒时,如何显示“设置为墙纸”的弹出选项?

当用户在inageviewer应用程序中按下图片3-5秒时,如何显示“设置为墙纸”的弹出选项?
EN

Stack Overflow用户
提问于 2014-08-25 08:01:43
回答 2查看 93关注 0票数 0

下面..。此链接..How to set image as wall paper in viewpager app?。我可以直接在我的可绘图文件夹中设置墙纸。但是,我想让用户有机会通过显示应该显示的弹出对话框来设置墙纸。当用户点击图片3-5秒。

我对android编程还是个新手。所以,请帮帮我..

EN

回答 2

Stack Overflow用户

发布于 2014-08-25 08:14:59

  1. 安卓框架已经支持类"alertDialogue.builder“。除了对话按钮、标题等之外,你还可以设置任何你想显示的消息。

http://developer.android.com/reference/android/app/AlertDialog.Builder.html

  1. 5秒太长了,不能停留在一个指尖上。在onsimplegesturedetector类中,已经有了"long press“检测器

http://developer.android.com/reference/android/view/GestureDetector.SimpleOnGestureListener.html

票数 0
EN

Stack Overflow用户

发布于 2014-08-25 09:31:08

您可以设置自己的ontouchListener,它实现了具有手势检测器、检测长按并可以显示对话的onTouchListener。

还有更好的方法,但是我在我的项目中使用了这个逻辑,所以如果你找到更好的方法,你可以参考和修复它

代码语言:javascript
运行
复制
findViewById("your wall paper image id").onTouchListener(new MyOnTouchListener());



class MyOnTouchListener implements onTouchListener{
    GestureDetector gd = new GestureDetector(new SimpleOnGestureListener(){
        @Override
        public void onLongPress(MotionEvent e) {

            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                    context);

            alertDialogBuilder.setTitle("Your Title");

            alertDialogBuilder
            .setMessage("click yes to set wallpaper!")
            .setCancelable(false)
            .setPositiveButton("Yes",new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,int id) {
                    //setting wallpaper
                }
            })
            .setNegativeButton("No",new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,int id) {
                    dialog.cancel();
                }
            });

            // create alert dialog
            AlertDialog alertDialog = alertDialogBuilder.create();

            // show it
            alertDialog.show();
        }
    });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25477444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档