android学习笔记17——对话框(PopupWindow)
PopupWindow
==>
PopupWindow可创建类似对话框的窗口,使用其创建对话框窗口的操作步骤:
1.调用PopupWindow构造器构造PopupWindow对象;
2.调用PopupWindow的showAsDropDown(View v)将PopupWindow作为v组件的下拉组件显示出来;
或调用PopupWindow的showAtLocation方法将PopupWindow在指定位置显示出来。
注意:
AlertDialog不能指定显示位置,只能默认显示在屏幕最中间(也可以通过设置WindowManager参数来改变位置);
而PopupWindow是可以指定显示位置的,随便哪个位置都可以,更加灵活。
实例如下:
布局文件==》
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal" ><Buttonandroid:id="@+id/btnTest"android:gravity="center_horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="110"/></LinearLayout><?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><ImageViewandroid:id="@+id/header"android:background="@drawable/eighteen"android:layout_width="wrap_content"android:layout_height="wrap_content" /><Buttonandroid:id="@+id/btnclose"android:layout_width="match_parent"android:layout_height="wrap_content" android:text="关闭"/>
</LinearLayout>代码实现==》
package com.example.mypopupwindow;import android.os.Bundle;
import android.app.Activity;
import android.view.Gravity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.PopupWindow;public class MainActivity extends Activity
{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 装载R.layout.acitivity_main对应的界面布局View root = this.getLayoutInflater().inflate(R.layout.popup, null);// 创建PopupWindow对象final PopupWindow popup = new PopupWindow(root, 500, 500);Button btn = (Button) this.findViewById(R.id.btnTest);btn.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){// 以下拉方式显示popup.showAsDropDown(v);// 将PopupWindow显示在指定位置popup.showAtLocation(findViewById(R.id.btnTest), Gravity.CENTER_HORIZONTAL, 200, 200);}});root.findViewById(R.id.btnclose).setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){popup.dismiss();}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu){// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
运行效果:略
转载于:https://www.cnblogs.com/YYkun/p/5780429.html
android学习笔记17——对话框(PopupWindow)相关推荐
- Android学习笔记17:单项选择RadioButton和多项选择CheckBox的使用
在Android中,可以通过RadioButton和RadioGroup的组合来实现单项选择的效果.而多项选择则是通过CheckBox来实现的. 1.单项选择RadioButton 我们知道,一个单项 ...
- Pro Android学习笔记(二九):用户界面和控制(17):include和merge
xml控件代码重用:include 如果我们定义一个控件,需要在不同的layout中重复使用,或者在同一个layout中重复使用,可以采用include的方式.例如定义my_button.xml如下 ...
- 【转】 Pro Android学习笔记(二九):用户界面和控制(17):include和merge
目录(?)[-] xml控件代码重用include xml控件代码重用merge 横屏和竖屏landsacpe portrait xml控件代码重用:include 如果我们定义一个控件,需要在不同的 ...
- Android学习笔记之(一)开发环境搭建
Android学习笔记之(一)开发环境搭建 zouxy09@qq.com http://blog.csdn.net/zouxy09 至于说Android是什么之类的俺就不啰嗦了,因为它离我们太近了.直 ...
- Android学习笔记:Android基础知识点(不断更新中)
1.Android学习笔记:OkHttp 2.Android学习笔记:更新UI的方法(UI线程和非UI线程) 3.Android学习笔记:Volley 4.Android学习笔记:Handler 5. ...
- Android学习笔记-常用的一些源码,防止忘记了
Android学习笔记-常用的一些源码,防止忘记了... 设置拨打电话 StringdialUri="tell:"+m_currentTelNumble; IntentcallIn ...
- Android学习笔记21:ImageView获取网络图片
Android平台有3种网络接口可以使用,它们分别是:java.net.*(标准java接口).org.apache(Apache接口)和android.net.*(Android网络接口).本文将使 ...
- Android学习笔记26:图片切换控件ImageSwitcher的使用
在Windows操作系统中,要查看多张图片,可以通过使用"Windows照片查看器"在"上一张"和"下一张"之间切换,进行多张图片的浏览. ...
- 【转】 Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner
目录(?)[-] GridView Spinner GridView GridView是网格状布局,如图所示.在了解ListView后,很容易了解GridView.下面是例子的XML文件. <? ...
最新文章
- 洛谷 P1028 数的计算
- 获取extjs 选择后的表头_批量写入审计底稿的表头信息设定页面
- 几个有趣的python技巧
- Java并发包中Semaphore的工作原理、源码分析及使用示例
- (49)Verilog HDL SPI接收设计
- SpringCloud常见面试题(2020最新版)
- 生成微信蓝色昵称,原来如此简单
- LeetCode之两个数组的交集
- 折线分割平面(递推dp)
- java 使用websocket_Java使用WebSocket
- 计算机基础知识整理 世上最全,IT小白必看:计算机基础知识整理大全
- python清洗数据去除停用词_python去除停用词(结巴分词下)
- 不参与,你怎么知道能有多刺激——一个币客与市场的深入对话
- 【2021/7/19 更新】【梳理】简明操作系统原理 附录一 虚拟内存子系统案例选讲(VAX/VMS + Linux)(docx)
- 供应链业务架构设计概览
- 离散数学-自反性-对称性-传递性,关系的性质
- 编写可读代码的艺术读书整理
- 团队作业1--团队展示选题
- echarts柱状图改变标签的位置及柱状图颜色
- [Ubuntu]使用DataDog集成跟踪Django项目
热门文章
- java perm 查看_高级 Java 必须掌握:JVM 分析工具和查看命令,超详细
- yjv是电缆还是电线_VV是什么电缆?与YJV电缆有何区别?
- 人类一败涂地做图教程_《人类一败涂地》形象绘画技巧图文指南
- python网络套接字_Python网络编程 Python套接字编程
- 引用管理器没有程序集_如何使用Zotero插入引用文献
- python实现语音播放_用Python实现语音播报
- python编程输入名字配对情侣网名_输入名字配对情侣网名 好听的情侣网名大全...
- 开发java程序的步骤_开发 Java 程序的一般步骤是:源程序编辑、 和 。_学小易找答案...
- linux的yun命令是访问互联网,如何在Linux终端中知道你的公有IP?
- mysql校对规则_MYSQL校对规则