例子:
PopupWindowActivity.java
package com.popup;
import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout.LayoutParams;
import android.widget.PopupWindow;
public class PopupwindowActivity extends Activity {
public PopupWindow mPopupWindow;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
View popupWindow_view = getLayoutInflater().inflate(R.layout.control, null,false);
mPopupWindow = new PopupWindow(popupWindow_view, LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT,true);
Button show = (Button) findViewById(R.id.button1);
show.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
mPopupWindow.showAtLocation(findViewById(R.id.linear),Gravity.RIGHT | Gravity.BOTTOM, 0, 0);
}
});
mPopupWindow.update();
//获取自定义布局文件popup.xml的视图
Button btn1 = (Button)popupWindow_view.findViewById(R.id.button2);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mPopupWindow.dismiss();
}
});
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" android:id="@+id/linear">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
control.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="#b0000000"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:text="Button" />
</LinearLayout>
分享到:
相关推荐
综上所述,PopupWindow遮罩层的实现涉及到了Android UI设计中的多个方面,包括视图创建、触摸事件处理、动画效果以及权限管理等。理解并掌握这些知识点对于进行高效的Android开发至关重要。在实际项目中,开发者可以...
Android PopupWindow 实现遮罩层效果 Android PopupWindow 是 Android 系统中的一种常用对话框组件,用于显示弹出式对话框,可以实现各种交互效果。今天,我们将详细介绍如何使用 Android PopupWindow 实现遮罩层...
本文将详细讲解如何实现标题所描述的功能:“popupwindow弹窗实现点击按钮,下方弹出popwindow,并且只是按钮下方有阴影,按钮以及上方没有阴影”。 首先,我们了解PopupWindow的基本用法。PopupWindow类提供了创建...
以上就是使用`PopupWindow+ListView`实现Android搜索框的基本步骤。实际开发中,你可能还需要处理更多细节,如动画效果、键盘的自动收起和展开、输入提示文字等。通过熟练掌握这些技术,你可以创建出更加直观、易用...
本文将详细介绍如何使用`PopupWindow`来实现一个下拉框,并分享一些相关的实现技巧。 首先,我们需要理解`PopupWindow`的基本概念。`PopupWindow`是Android系统提供的一个类,它允许开发者在应用中显示一个浮动的...
以上就是通过自定义PopupWindow实现Spinner下拉选择列表的基本步骤。你可以根据实际需求进一步优化,比如添加动画效果、自定义样式等。通过这种方式,我们可以创建出更加个性化和功能丰富的下拉选择控件,提升用户...
本教程将详细讲解如何利用PopupWindow实现图片的展示功能。 首先,理解PopupWindow的基本概念。PopupWindow是Android SDK中的一个类,它允许开发者创建浮动、可定制的窗口,可以显示在屏幕的任何位置。相比于Dialog...
在Android开发中,为了提供与iOS相似的用户体验,有时我们需要实现一种时间选择功能,这通常涉及到PopupWindow和WheelView的使用。PopupWindow是Android中一个轻量级的弹出窗口,它可以显示在屏幕的任意位置,而...
本篇将详细讲解如何使用PopupWindow实现一个定制化的下拉框。 首先,理解PopupWindow的基本概念。PopupWindow是Android提供的一种轻量级窗口,可以用来弹出一个浮动视图。它通常用于创建快捷菜单、下拉列表或者其他...
本资料包"Android源码——PopupWindow实现弹出菜单.zip"主要聚焦于如何利用`PopupWindow`来创建自定义的弹出菜单。下面将详细介绍`PopupWindow`的基本概念、工作原理以及实现弹出菜单的关键步骤。 `PopupWindow` 是...
android页面开发中会碰到这种需求:点击页面顶部工具栏某个按钮时需要弹出下拉菜单。该工程利用PopupWindow实现了点击工具栏弹出下拉菜单的功能的主要实现类 .
在标题"使用PopupWindow实现的通用弹窗"中,我们可以理解到这个项目或教程的目标是创建一个能够适应多种场景的弹窗解决方案,通过PopupWindow来实现。这意味着它可能包含了设置不同内容和按钮事件的能力,使得开发者...
同时,我们还需要设置PopupWindow的背景Drawable为透明的,以便实现半透明蒙层的效果。 在showAsDropDown()方法中,我们需要添加半透明蒙层。我们可以通过WindowManager.LayoutParams来添加蒙层,并设置蒙层的宽度...
PopupWindow是Android系统提供的一种轻量级的窗口组件,它可以在Activity之上显示一个浮动的窗口,通常用于实现各种弹窗效果,比如下拉菜单、提示信息等。在本例中,我们将关注如何实现PopupWindow作为对话框,并...
本文将深入探讨如何在`Android 6.0`系统中使用`PopupWindow`来创建一个从底部向上弹出的菜单栏,并实现“打开相册”功能,允许用户选择图片显示在`ImageView`上。 `PopupWindow`是Android SDK提供的一种轻量级弹窗...
在Android应用开发中,`ActivityGroup`和`PopupWindow`是两种重要的组件,它们分别用于实现复杂的界面管理和灵活的弹出窗口效果。本项目旨在利用这两种技术实现一个类似UC浏览器的弹出菜单功能,允许用户自定义添加...
PopupWindow是Android系统中一个非常重要的UI组件,它允许开发者在屏幕任意位置显示一个浮动的窗口,这个窗口可以是...在实际项目中,可以根据需求灵活运用PopupWindow的各种特性,实现各种定制化的弹出窗口功能。
本教程将详细介绍如何利用PopupWindow实现右侧、左侧和底部弹出菜单,以提供丰富的交互体验。 首先,我们来理解一下PopupWindow的基本概念。PopupWindow是Android中的一个类,它允许开发者创建浮动的窗口,可以显示...
本篇将详细讲解如何利用`GridView`来实现一个`PopupWindow`的效果。 首先,我们要理解`PopupWindow`的基本用法。`PopupWindow`是Android提供的一个类,它允许开发者在应用程序中创建可弹出的窗口,这个窗口可以包含...