main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/statusinfo" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="当前用户状态:在线" /> <Button android:id="@+id/popbut" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="状态" /> </LinearLayout>
popwindow.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/popinfo" android:text="请选择您的当前状态:" android:layout_width="wrap_content" android:textSize="20px" android:layout_height="wrap_content"/> <RadioGroup android:id="@+id/changestatus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:checkedButton="@+id/online"> <RadioButton android:id="@+id/online" android:text="在线"/> <RadioButton android:id="@+id/offline" android:text="离线"/> <RadioButton android:id="@+id/stealth" android:text="隐身"/> </RadioGroup> <Button android:id="@+id/cancel" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="取消" /> </LinearLayout>
MyPopupWindowDemo.java:
import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.PopupWindow; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.TextView; public class MyPopupWindowDemo extends Activity { private Button popbut = null; // 按钮组件 private RadioGroup changestatus = null; // 单选钮组件 private TextView statusinfo = null; // 文本显示组件 private Button cancel = null; // 按钮组件 private PopupWindow popWin = null; // 弹出窗口 private View popView = null; // 保存弹出窗口布局 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); // 设置布局管理器 this.popbut = (Button) super.findViewById(R.id.popbut); // 取得组件 this.statusinfo = (TextView) super.findViewById(R.id.statusinfo); // 取得组件 this.popbut.setOnClickListener(new OnClickListenerImpl()); // 设置单击事件 } private class OnClickListenerImpl implements OnClickListener { // 设置监听 @Override public void onClick(View view) { LayoutInflater inflater = LayoutInflater .from(MyPopupWindowDemo.this); // 取得LayoutInflater对象 MyPopupWindowDemo.this.popView = inflater.inflate( R.layout.popwindow, null); // 读取布局管理器 MyPopupWindowDemo.this.popWin = new PopupWindow(popView, 300, 220, true); // 实例化PopupWindow MyPopupWindowDemo.this.changestatus = (RadioGroup) popView .findViewById(R.id.changestatus); // 取得组件 MyPopupWindowDemo.this.cancel = (Button) popView .findViewById(R.id.cancel); // 取得组件 MyPopupWindowDemo.this.changestatus .setOnCheckedChangeListener( new OnCheckedChangeListenerImpl()); // 设置监听 MyPopupWindowDemo.this.cancel .setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { MyPopupWindowDemo.this.popWin.dismiss(); // 关闭弹出窗口 } }); MyPopupWindowDemo.this.popWin.showAtLocation( MyPopupWindowDemo.this.popbut, Gravity.CENTER, 0, 0); // 显示弹出窗口 } } private class OnCheckedChangeListenerImpl implements OnCheckedChangeListener { // 选项选中时触发 @Override public void onCheckedChanged(RadioGroup group, int checkedId) { RadioButton but = (RadioButton) MyPopupWindowDemo.this.popView .findViewById(group.getCheckedRadioButtonId()); // 取得选中组件 MyPopupWindowDemo.this.statusinfo.setText("当前用户状态:" + but.getText().toString()); // 设置文本 MyPopupWindowDemo.this.popWin.dismiss(); // 关闭弹出窗口 } } }
相关推荐
在Android开发中,`PopupWindow`是一个非常实用的组件,它可以用来实现各种形式的弹出窗口,如下拉菜单、提示框等。本教程将详细讲解如何使用`PopupWindow`来创建一个以`ListView`形式展示的菜单。首先,我们需要...
Android开发实现popupWindow弹出窗口自定义布局与位置控制方法 Android开发实现popupWindow弹出窗口自定义布局与位置控制方法是Android开发中非常重要的一部分,掌握了这项技术可以让开发者更好地控制弹出窗口的...
总的来说,实现"Android从屏幕底部弹出PopupWindow"涉及到Android UI组件、动画机制和事件处理等多个知识点,需要开发者具备扎实的Android基础和一定的动画设计能力。通过不断实践和学习,可以创造出更多富有创意的...
在Android开发中,`PopupWindow`是一个非常重要的组件,它允许开发者在屏幕任意位置弹出一个浮动窗口。本文将深入探讨如何自定义`PopupWindow`,解决在Android 7.0及以上版本可能出现的位置错乱问题,以及如何实现...
分享一个在android开发中的多级PopupWindow 弹出窗口实例,不知道这种多级的弹出窗口算不算是“嵌套”方式?因为它们之间确实是有着层级的关系,当PopupWindow被主界面按钮触发的时候,会被弹出第一级,在第一级中...
本篇将详细介绍如何在用户点击`ListView`时弹出一个包含`PopupWindow`的弹出框,并且这个`PopupWindow`内还具有`ListView`的右滑删除功能。 首先,我们需要创建`PopupWindow`。`PopupWindow`的构造函数通常接收三个...
这个压缩包“安卓Android源码——Android之用PopupWindow实现弹出菜单.zip”显然是为了演示如何使用`PopupWindow`来构建弹出菜单。现在,我们将深入探讨`PopupWindow`的使用及其背后的原理。 `PopupWindow` 是 ...
`PopupWindow`是Android系统提供的一个轻量级窗口,它可以显示在屏幕上的任意位置,用于创建浮动、弹出式的UI组件。在本教程中,我们将深入探讨如何使用`PopupWindow`来构建一个以`ListView`形式展示的菜单。 首先...
综上所述,实现“右上角PopupWindow弹出”主要涉及以下步骤: 1. 创建ListView布局和Adapter。 2. 创建PopupWindow实例,设置内容视图和尺寸。 3. 定位PopupWindow到右上角,使用showAsDropDown方法。 4. 可选:添加...
- 背景模糊:如果希望弹出窗口有模糊背景效果,可以使用 `setBackgroundDrawable(Drawable drawable)` 设置一个模糊的Drawable。 总结,`PopupWindow` 是Android中实现弹出菜单或其它浮动视图的利器。通过理解其...
本资源"Android安卓源码_PopupWindow弹出菜单.zip"提供了一个具体的示例,帮助开发者深入理解如何在实际应用中使用`PopupWindow`。 `PopupWindow`的基本概念: 1. `PopupWindow`类是Android SDK中的一个类,它可以...
在Android应用开发中,PopupWindow是一个非常实用的组件,它能帮助我们实现各种形式的弹出窗口,如下拉菜单、提示信息等。本教程将详细介绍如何使用PopupWindow来实现弹出菜单。 首先,理解PopupWindow的基本概念。...
在Android应用开发中,PopupWindow是一个非常实用的组件,它能帮助开发者实现各种形式的弹出窗口,如下拉菜单、浮动提示等。本资料"Android之用PopupWindow实现弹出菜单.zip"聚焦于如何利用PopupWindow来创建弹出...
Android PopupWindow 弹出窗口的简单使用方法 Android PopupWindow 是 Android 系统中一种常用的弹出窗口控件,通过它可以在界面上弹出一个窗口,显示一些信息或提供一些交互功能。下面是 Android PopupWindow 弹出...
在Android开发中,`PopupWindow` 是一个非常实用的组件,它可以用来创建各种弹出式菜单或对话框。本文将详细介绍如何使用`PopupWindow`在Android应用中模仿微信右上角的弹出菜单效果。 首先,我们需要理解`...
这个压缩包"popupwindow弹出框.rar"包含了一些关于PopupWindow使用的示例代码,尽管可能并未全部验证其可用性,但它们可以作为学习和参考的资源。 首先,让我们深入理解PopupWindow的基本概念。PopupWindow是...
在Android应用开发中,`PopupWindow`是一个非常实用且灵活的组件,用于创建自定义的弹出窗口。它允许开发者在一个任意位置展示一个包含自定义视图的浮动窗口,这使得它可以适应各种场景需求,如下拉菜单、工具提示或...
在Android中,弹出窗口通常分为两种类型:AlertDialog和PopupWindow。AlertDialog是系统提供的标准对话框,它提供了固定的样式和行为,而PopupWindow则更为灵活,允许开发者自定义布局和行为,可以实现各种定制化的...
在Android开发中,`PopupWindow`是一个非常重要的组件,它允许开发者在屏幕任意位置弹出一个浮动窗口。这个窗口可以包含任何View,并且可以自定义大小、位置和样式,为用户界面提供了丰富的交互可能性。本篇文章将...