关于Android的PopupWindon
来源:互联网 发布:软件安全测试方法 编辑:程序博客网 时间:2024/06/05 02:51
这篇文章主要介绍了PopupWindow在控件的各个方向上的显示(上、下、左、右),主要用到PopupWindow的showAtLocation()方法。
①.在控件上方、下方、左方、右方
布局中就放一个简单的按钮控件,居中,屏幕中间
//初始化控件
private voidinit_Views() {
button= (Button) findViewById(R.id.popup);
button.setOnClickListener(newView.OnClickListener() {
@Override
public voidonClick(View v) {
//点击控件弹出窗口
popupWindwShowing(v);
}
});
}
//弹出窗口
private voidpopupWindwShowing(View v) {
if(popupWindow== null){
//初始化布局填充器
LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//弹窗的布局
view= layoutInflater.inflate(R.layout.popupwindow,null);
//popup初始化 参数:pop显示的view,pop的宽度,pop的高度
popupWindow= newPopupWindow(view,300,330);
}
//使其聚集
popupWindow.setFocusable(true);
//设置允许点击外部消失
popupWindow.setOutsideTouchable(true);
// 这个是为了点击“返回Back”也能使其消失,并且并不会影响你的背景
popupWindow.setBackgroundDrawable(newBitmapDrawable());
//获得v在屏幕中的x 和 y坐标,记录在数组中
int[] location = new int[2];
v.getLocationOnScreen(location);
WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
//坐标计算
intpox = -(popupWindow.getWidth()/2-button.getWidth()/2);
//正下方 参数:点击的控件,偏离控件左下角点
// popupWindow.showAsDropDown(v,pox,0);
//上方
// popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0], location[1]-popupWindow.getHeight());
//左边
// popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0]-popupWindow.getWidth(), location[1]);
//右边
popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0]+v.getWidth(), location[1]);
}
效果图:
正下方:
上方:
左方:
右方:
阅读全文
1 0
- 关于Android的PopupWindon
- PopupWindon实例
- 关于Android的prelink
- 关于android的文件系统
- 关于android的 context
- 关于Android的prelink
- 关于android的应用程序
- 关于android的资料
- 关于android的WebView
- 关于Android的安装
- 关于Android的Crash
- 关于android的ycbcr_422_i
- 关于Android的字体
- 关于Android的字体
- 关于android 的乱七八糟
- 关于Android的Crash
- 关于Android的ListView
- 关于Android的Handler
- 机房收费系统之九(导出Excel)
- ORACLE 多表连接与子查询
- MySQL行级锁、表级锁、页级锁详细介绍
- AndroidStudio ImageView全屏显示
- Codeforces 490E Restoring Increasing Sequence【二分+模拟】细节题
- 关于Android的PopupWindon
- 初学数据结构---查找代码之静态查找
- android 仿Boss直聘消息界面
- 浅析RPC机制
- 挑战实现P、R、F(精准率、召回率和调和数)的python程序
- 安装VMWare tools,以及解决安装后/mnt中有hgfs但没共享文件的方法
- win8.1 ubuntu14.04双系统 uefi引导问题
- .gitignore文件不起作用的解决办法 以及.DS_Store的处理
- 【面试题】Java String常量相等(==)问题