Android 标题栏菜单设置与应用(popupWindow的应用)
效果图
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKEAAACfCAIAAAAeQy48AAADmklEQVR4nO3cS3aiQBhA4d5Vam0sRSduwszcBptwBwGxB3aMTfHK4wfr5t7DJBxzCv1CSRD8czV6f7beAAvvn3GTkgt1+TDe7u/s6xW62SvHMR78E+49+HH92F/92s8hPo7x8gfn9j+5Tc/X7zLOd9ZCn/inKtL4axNsvh//hon6WqjxvQmtwV22t/KXTNoFG4/tfMufy/3g67O/uELd62t3PH5//RVgfF2wO47t309r3B2Pt43ssX12/a1SjXOkHtXYM8oPuDR+0nLIwUOqJb/yhMZX5+ppzt6BWG/92LFY9DZvWJHG92bfjyf22t4DCn0FlkQwnliZv0lPnAAp9EWYDW6cr8TPzHko47Ej6oX/TVH5UcaDa6xsY1uS14HwF6/n4qcxP42j2nZ+ftwSjaNqtjuM1XilNOanMT+N+WnMT2N+GvPTmJ/G/CaNz5cqtafzOkNrHNWUcX1oksblN2x8PrXvp5Q1Lr7JubpuNQakMT+N+WnMT2N+GvPTmJ/G/GbPgcSdCdF4pfxMgp/G/JqU2v1+k+UtpXa/v2+JxlE1KbW73SbL28tLu9vdt0TjqJyr+WnMT2N+GvMbNO4O/58AqdcYWuOohozPl+rQvf/QnaogZo1XasFcXbcpNYefR9Z4pRYYny9VaqpTN/e4bw6tcVTzxrfPJ9yPy23W+Hb85ftxwc0Y14cmZifOh9Y4qinj2ywd8E48OLTGUY0b121KTToEAedDaxzViHEdugcPDq1xVEPGawDnQ2sc1YBxdjFX0BlNjVfKzyT4acxPY373F3qra/bul+1pHNWH8UbX7N0v29M4Kudqfhrz05ifxvw05qcxP435acxPY34a88uN+zfC+J0vpZcZ1+3jNVyRX2+s8UrNzdVRN0nkQ2sclcb8po27U9Wk6hLzjqzxSo0Yny9VirtDYnBojaNaci+M95iX3aJ72nw/Lrp541MVdEeMxivlfsyvb1wfHkXjvgwkH1rjqIbOcz2ey4z6xykfWuOo/EyCn8b8NOanMT+N+WnMT2N+GvPTmF/+3S5rLo9bojE/jflpzE9jfhrz05ifxvw05qcxP435acxPY34a89OYn8b8NOanMT+N+WnMT2N+GvPTmJ/G/DTmpzE/jflpzE9jfhrz05ifxvw05qcxP435acxPY34a89OYn8b8NOanMT+N+WnMT2N+GvPTmJ/G/DTmpzE/jflpzE9jfhrz05ifxvw05qcxv79qGFcrDcv7+AAAAABJRU5ErkJggg==" alt="" />
1、布局文件 layout_popup.xml
<ListView android:id="@+id/popup"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:listSelector="@android:color/transparent"/>
layout_popup_list.xml <LinearLayout
android:id="@+id/item"
android:layout_width="match_parent"
android:layout_height="@dimen/space_40"
android:background="@drawable/block_item_default_selector">
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textSize="@dimen/font_main_size"
android:textColor="@color/font_main_color"/>
</LinearLayout> 2.java文件
private void showPopupWindow(View view) {
// 一个自定义的布局,作为显示的内容
View contentView = LayoutInflater.from(this).inflate(
R.layout.layout_popup, null);
//状态选择
String status = "yespwd";
ListView popuplist = (ListView)contentView.findViewById(R.id.popup);
data = getData(status);
SimpleAdapter simpleAdapter = new SimpleAdapter(this,data,
R.layout.layout_popup_list, new String[] {"text"},
new int[] {R.id.text});
popuplist.setAdapter(simpleAdapter);
final PopupWindow popupWindow = new PopupWindow(contentView,
200, ViewGroup.LayoutParams.WRAP_CONTENT, true);
//点击外部后消失
popupWindow.setTouchable(true);
popuplist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
String text = (String) data.get(i).get("text");
if (text.equals("status")) {
Intent intent = new Intent(PrePaymentActivity.this, PaymentHistoryActivity.class);
startActivity(intent);
//弹框消失
popupWindow.dismiss();
}
}
});
popupWindow.setTouchInterceptor(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return false;
// 这里如果返回true的话,touch事件将被拦截
// 拦截后 PopupWindow的onTouchEvent不被调用,这样点击外部区域无法dismiss
}
});
// 如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框
popupWindow.setBackgroundDrawable(getResources().getDrawable(
R.color.white));
// 设置好参数之后再show
popupWindow.showAsDropDown(view);
}
//输入数据
private List<Map<String, Object>> getData(String stutas)
{
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map,map1,map2,map3;
if(stutas.equals("yespwd")){
map = new HashMap<String, Object>();
map.put("text", "1");
map1 = new HashMap<String, Object>();
map1.put("text", "2");
map2 = new HashMap<String, Object>();
map2.put("text", "3"); list.add(map);
list.add(map1);
list.add(map2);
} return list;
}
Android 标题栏菜单设置与应用(popupWindow的应用)的更多相关文章
- android标题栏上面弹出提示框(二) PopupWindow实现,带动画效果
需求:上次用TextView写了一个从标题栏下面弹出的提示框.android标题栏下面弹出提示框(一) TextView实现,带动画效果, 总在找事情做的产品经理又提出了奇葩的需求.之前在通知栏显示 ...
- android标题栏下面弹出提示框(一) TextView实现,带动画效果
产品经理用的是ios手机,于是android就走上了模仿的道路.做这个东西也走了一些弯路,写一篇博客放在这里,以后自己也可用参考,也方便别人学习. 弯路: 1.刚开始本来用PopupWindow去实现 ...
- android入门——UI(6)——ViewPager+Menu+PopupWindow
一.使用ViewPager开发新特性引导界面 <?xml version="1.0" encoding="utf-8"?> <Relative ...
- Android 标题栏(2)
本文来自网易云社区 作者:孙圣翔 添加ActionProvider 1.在menu菜单中添加app:actionProviderClass属性: <item android:id=&qu ...
- Android侧滑菜单代码实现
前两天学习了hyman老师讲的Android侧滑菜单的实现,经过自己的整理分享出来给大家学习一下 现在很多APP都有菜单侧滑的功能,本篇文章主要讲解使用自定义的HorizontalScrollView ...
- Android滑动菜单框架完全解析,教你如何一分钟实现滑动菜单特效
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/8744400 之前我向大家介绍了史上最简单的滑动菜单的实现方式,相信大家都还记得.如 ...
- 【转】Android 系统菜单与自定义菜单
Android 系统菜单与自定义菜单实现方法如下:系统菜单显示DefaultMenu.java package com.wxz.menu; import com.wxz.menu.R; import ...
- BottomBar之Android底部菜单
BottomBar之Android底部菜单 前言:开源项目BottomBar,实现Android底部菜单(常用菜单,BottomBar实现动画(上下式)+消息菜单,BottomBar+ViewPage ...
- Android下拉选择框之PopupWindow
1.效果图 2.思路分析 1.点击弹出对话框 popupwindow 2.对popupwindow进行相关设置,popupwindow中设置view为listview 3.listview中item设 ...
随机推荐
- (转)px、em、rem的区别和使用
国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem(国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位),那么三者有什么区别,又各自有什么优劣呢? 一.px特点 1. IE ...
- cf #379div2
A. 题意:输入一串字符只含A和D,判断A和D的多少比较, 分析:直接计数 B. 题意:给出数字2,3,5,6的个数,用这些数组成256和32,要求最后组成的数的和最大 分析:贪心,优先组成256,然 ...
- 求子串-KPM模式匹配-NFA/DFA
求子串 数据结构中对串的5种最小操作子集:串赋值,串比较,求串长,串连接,求子串,其他操作均可在该子集上实现 数据结构中串的模式匹配 KPM模式匹配算法 基本的模式匹配算法 //求字串subStrin ...
- 基础算法之插入排序Insertion Sort
原理 通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入.通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元 ...
- memcached 的简介、安装、命令
一.memcached 概述 Memcache(内存,缓存) : 是一个高性能的分布式的内存对象缓存系统.通过在内存里维护一个巨大的hash表.(key=value) Hash表 key(键) val ...
- linux环境下android-ndk下的ffmpeg编译
目前正在做手机底层播放器对的开发,需要用的ffmpeg,因为是新手,所以先从ffmpeg的编译开始做起.虽然是在前人的基础上,但是在linux上编译确实头一遭,因此在编译中,总有些坑是必须要填的,下面 ...
- guava学习--Preconditions
转载:https://my.oschina.net/realfighter/blog/349819 Preconditions是guava提供的用于进行代码校验的工具类,其中提供了许多重要的静态校验方 ...
- 当 jquery.unobtrusive-ajax.js 遇上Web API
最近在熟悉Abp框架,其基于DDD领域驱动设计...前段可以绕过mvc直接调用根据app层动态生成的webapi,有点神奇~,Web API之前有简单接触过,WCF的轻量级版,一般用于做一写开发性的服 ...
- whereis 和which
这两个命令用的好,可以很快找出文件的路径 [root@oc3408554812 zip-3.0]# which passwd/usr/bin/passwd[root@oc3408554812 zip- ...
- 记一次酷派尚锋Y75刷机
昨天因为手机卡的原因,我的同学帮他的同学刷机,听他说是用刷机精灵线刷的rom包,但是刷机失败了,就来找我把弄好,他是个半吊子水平,刚接触这个东西,也是运气不好,什么刷机失败的问题都让他遇上了,刷了几个 ...