`
sunting_bcwl
  • 浏览: 95737 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android弹出窗口

阅读更多
1.PopupWindow实现:
private void showPopupWindow(int x, int y, int width, int height) {
TextView textView = new TextView(this);
textView.setText("Hello popupWindow");
textView.setBackgroundColor(Color.CYAN);
PopupWindow popupWindow = new PopupWindow(textView, width, height);
popupWindow.showAtLocation(getWindow().getDecorView(),
Gravity.NO_GRAVITY, x, y);
}
不能在onCreate中,否则会报错,需要View渲染完成后调用

2.Dialog实现
    public class MyActivity extends Activity {
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            //在指定位置显示对话框
    showDialog(100, 100, 200, 200);
        }
        
        @Override
        protected Dialog onCreateDialog(int id, Bundle args) {
            return new AlertDialog.Builder(this)
                .setTitle("Hello Dialog!")
                .setMessage("Hello Dialog")
                .create();
        }
        
        @Override
        protected void onPrepareDialog(int id, Dialog dialog, Bundle args) {
            switch (id) {
            case 1: {
    //设置对话框的属性
                Window window = dialog.getWindow();
                WindowManager.LayoutParams lp = window.getAttributes();
                lp.x = args.getInt("x");
                lp.y = args.getInt("y");
                lp.width = args.getInt("width");
                lp.height = args.getInt("height");
                
                lp.flags &= ~WindowManager.LayoutParams.FLAG_DIM_BEHIND;
    
                dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.argb(0, 0, 0, 0)));
            }
                break;
    
            default:
                break;
            }
    
            super.onPrepareDialog(id, dialog, args);
        }
    
        private void showDialog(int x, int y, int width, int height) {
            Bundle bundle = new Bundle();
            bundle.putInt("x", x);
            bundle.putInt("y", y);
            bundle.putInt("width", width);
            bundle.putInt("height", height);
            
            showDialog(1, bundle);
        }
    }
分享到:
评论

相关推荐

    android 弹出窗口

    下面将详细探讨Android弹出窗口的相关知识点。 1. **PopupWindow的基本使用** - 创建PopupWindow:首先,我们需要创建一个PopupWindow实例,传入一个View作为其内容视图,宽度和高度。例如: ```java View ...

    android 弹出窗口动画demo

    这个“android 弹出窗口动画demo”就是一个示例,展示了如何在Android应用中创建具有动画效果的`PopupWindow`。下面将详细讲解`PopupWindow`的使用以及如何添加动画效果。 首先,`PopupWindow`的基本用法包括以下几...

    android弹出窗口,

    在Android开发中,"弹出窗口"是一种常见的交互方式,用于在用户与应用程序进行交互时显示临时信息或接收用户输入。这些窗口通常是非模态的(Toast)或模态的(Dialog),为用户提供额外的功能而不中断主应用程序流程...

    弹出窗口 拍照上传 android

    在Android应用开发中,"弹出窗口 拍照上传"是一个常见的功能,尤其是在社交类应用中,如微信。这个功能允许用户通过点击按钮触发一个底部弹出窗口,该窗口通常包含拍照和从相册选择图片两个选项,方便用户快速分享...

    Android弹出窗口PopupWindow

    在Android开发中,`PopupWindow`是一个非常重要的组件,它允许开发者在屏幕任意位置弹出一个浮动窗口。这个窗口可以包含任何View,并且可以自定义大小、位置和样式,为用户界面提供了丰富的交互可能性。本篇文章将...

    Android炫酷的弹出窗口

    在Android开发中,创建引人注目的用户界面是至关重要的,尤其是一些具有动画效果的弹出窗口,它们能够提供良好的用户体验并增加应用的趣味性。"Android炫酷的弹出窗口"这一主题主要涵盖了如何在Android应用中设计和...

    Android弹出窗口实现方法

    总的来说,实现Android弹出窗口主要涉及`WindowManager`、`LayoutParams`以及视图的事件监听。理解这些概念并熟练运用,可以创建出各种各样的弹出式界面,提升用户体验。同时,要注意在使用`SYSTEM_ALERT_WINDOW`...

    Android应用源码之自定义弹出窗口的实现

    在Android应用开发中,自定义弹出窗口是一种常见的交互方式,可以增强用户体验并提供更为灵活的设计。本项目可能包含了一个完整的实例,展示了如何在Android中实现自定义弹出窗口。以下是一些关于自定义弹出窗口实现...

    Android浮层 弹出窗口demo

    在Android应用开发中,"浮层"或"弹出窗口"是一种常见的交互设计,用于向用户提供临时信息或者引导用户进行特定操作。浮层通常是非模态的,可以在用户与主界面交互的同时出现,不会完全遮挡整个屏幕。下面将详细讨论...

    Android 弹出层

    在本篇文章中,我们将深入探讨Android弹出层的相关知识点。 1. **Dialog** Dialog是Android中最常见的弹出层,它通常用于显示警告、确认或者请求用户输入信息。Dialog继承自DialogFragment,因此在使用时需要创建...

    BGATransformersTip-Android,安卓弹出窗口.zip

    在Android开发中,弹出窗口(PopupWindow)是一种常见的用户界面元素,用于提供临时的、非模态的信息展示。开源项目“BGATransformersTip-Android”专注于为开发者提供弹出窗口的实现,增强应用的用户体验。这个项目...

    Android底部滑动弹出窗口源码

    在Android开发中,底部滑动弹出窗口是一种常见的交互设计,常用于聊天应用、社交软件等,例如微信、QQ中的消息列表弹出。这个源码项目着重实现了这一功能,并结合了WebView操作、底部菜单导航栏以及顶部滑动菜单,...

    Android应用源码之自定义弹出窗口的实现.zip

    在Android应用开发中,自定义弹出窗口是增强用户体验、提供互动性的一种重要技术。本资源包"Android应用源码之自定义弹出窗口的实现.zip"提供了关于如何在Android中创建自定义对话框和弹出窗口的具体示例。下面我们...

    android 弹出进度窗口

    在Android开发中,"弹出进度窗口"是一个常见的需求,特别是在执行耗时操作如网络请求、文件下载或数据库操作时,为了提供良好的用户体验,我们通常会显示一个Dialog来告知用户程序正在后台工作,并且即将完成。...

    安卓Android源码——自定义弹出窗口的实现,对于作出自己特色效果的界面有一定帮助.zip

    这份名为"安卓Android源码——自定义弹出窗口的实现"的压缩包提供了实现自定义弹出窗口的方法,对开发者创建具有个性化的界面效果非常有帮助。接下来,我们将深入探讨如何在Android中实现自定义弹出窗口以及涉及到的...

Global site tag (gtag.js) - Google Analytics