知识点
相关文章
更多最近更新
更多android 随手记 仿微信的popwindow
2019-03-02 00:53|来源: 网路
/把文字控件添加监听,点击弹出自定义窗口
- tv.setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
- //实例化SelectPicPopupWindow
- menuWindow = new SelectPicPopupWindow(MainActivity.this, itemsOnClick);
- //显示窗口
- menuWindow.showAtLocation(MainActivity.this.findViewById(R.id.main), Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0, 0); //设置layout在PopupWindow中显示的位置
- }
- });
- }
其中的mian id 必须在layout 中写出,不然,找不到id 就不会显示在屏幕中。
- //为弹出窗口实现监听类
- private OnClickListener itemsOnClick = new OnClickListener(){
- public void onClick(View v) {
- menuWindow.dismiss();
- switch (v.getId()) {
- case R.id.btn_take_photo:
- break;
- case R.id.btn_pick_photo:
- break;
- default:
- break;
- }
- }
- };
这个是popwindow的工具类,定义这popwindow的弹出方向的动画。以及你pop中要显示的条目。
- mport android.app.Activity;
- import android.content.Context;
- import android.graphics.drawable.ColorDrawable;
- import android.view.LayoutInflater;
- import android.view.MotionEvent;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.view.View.OnTouchListener;
- import android.view.ViewGroup.LayoutParams;
- import android.widget.Button;
- import android.widget.PopupWindow;
- public class SelectPicPopupWindow extends PopupWindow {
- private Button btn_take_photo, btn_pick_photo, btn_cancel;
- private View mMenuView;
- public SelectPicPopupWindow(Activity context,OnClickListener itemsOnClick) {
- super(context);
- LayoutInflater inflater = (LayoutInflater) context
- .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- mMenuView = inflater.inflate(R.layout.alert_dialog, null);
- btn_take_photo = (Button) mMenuView.findViewById(R.id.btn_take_photo);
- btn_pick_photo = (Button) mMenuView.findViewById(R.id.btn_pick_photo);
- btn_cancel = (Button) mMenuView.findViewById(R.id.btn_cancel);
- //取消按钮
- btn_cancel.setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
- //销毁弹出框
- dismiss();
- }
- });
- //设置按钮监听
- btn_pick_photo.setOnClickListener(itemsOnClick);
- btn_take_photo.setOnClickListener(itemsOnClick);
- //设置SelectPicPopupWindow的View
- this.setContentView(mMenuView);
- //设置SelectPicPopupWindow弹出窗体的宽
- this.setWidth(LayoutParams.FILL_PARENT);
- //设置SelectPicPopupWindow弹出窗体的高
- this.setHeight(LayoutParams.WRAP_CONTENT);
- //设置SelectPicPopupWindow弹出窗体可点击
- this.setFocusable(true);
- //设置SelectPicPopupWindow弹出窗体动画效果
- this.setAnimationStyle(R.style.AnimBottom);
- //实例化一个ColorDrawable颜色为半透明
- ColorDrawable dw = new ColorDrawable(0xb0000000);
- //设置SelectPicPopupWindow弹出窗体的背景
- this.setBackgroundDrawable(dw);
- //mMenuView添加OnTouchListener监听判断获取触屏位置如果在选择框外面则销毁弹出框
- mMenuView.setOnTouchListener(new OnTouchListener() {
- public boolean onTouch(View v, MotionEvent event) {
- int height = mMenuView.findViewById(R.id.pop_layout).getTop();
- int y=(int) event.getY();
- if(event.getAction()==MotionEvent.ACTION_UP){
- if(y<height){
- dismiss();
- }
- }
- return true;
- }
- });
- }
- }
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/main" //此处的mian 就是mainActivity要声明的
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent" >
- <TextView
- android:id="@+id/text"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
- android:layout_centerVertical="true"
- android:padding="@dimen/padding_medium"
- android:text="点击我弹出选择框"
- tools:context=".MainActivity" />
- </RelativeLayout>
额。。。大概也就这样。写的也不是很详细,大家可以下载下来看就明白了。
~3)0LL@WTUBF}DL~Z4T649O.jpg(78.82 KB, 下载次数: 36)
仿微信的弹出popwindow
S)P)$(DG(QZLR_@SA(3[NRQ.jpg(102.24 KB, 下载次数: 22)
仿微信的弹出popwindow
@4K0`A9G2~IVIJ[0UBLHLI9.jpg(76.25 KB, 下载次数: 15)
仿微信的弹出popwindow
下载地址
http://download.csdn.net/detail/liyaming1/6479935
转自:http://www.cnblogs.com/suncoolcat/p/3400324
相关问答
更多-
手机java微信怎么登陆[2021-11-13]
JAVA手机不能使用微信。微信只支持symbian和android等智能系统手机。 微信支持多种语言,支持Wi-Fi无线局域网、2G,3G和4G移动数据网络,iOS版,Android版、Windows Phone版、Blackberry版、诺基亚S40版、S60V3和S60V5版。微信的最新版本:5.2.1(Android)、5.2.0.17(iOS)、4.2(Symbian)、5.1.0.0(Windows Phone 8)、1.5(诺基亚S40)、3.0(BlackBerry)、2.0(BlackBer ... -
请问微信是如何下载的[2023-06-19]
1.进入你的浏览器,输入微信下载,找到适合自己的版型(有 需要的话),下载安装即可 2.在你的QQ腾讯网中输入你需要查询的微信下载,找到它下载 即可 3.在你的QQ腾讯网有个“下载”项目,点击并找到微信,再点微 信 -
如何下载微信[2022-05-01]
手机浏览器访问weixin.qq.com/d,选择对应的版本,可直接下载微信。 电脑访问 http://weixin.qq.com/,下载后通过数据线复制到手机上面安装就可以。 -
android模拟器用微信怎么定位自己的位置呢??[2022-04-23]
用你上网的IP地址 -
随手记怎么使用 新手须知随手记使用教程[2022-07-17]
如果设置密码后,输入密码才可以登录。 进入主页面,点击记一笔,进入记账页面。 在记账页面,可以编辑金额信息,备注信息等,编辑好后点击保存即可。 点击主页面左下角的三条横线的符号,就可以进入账本页面,在账本页面,可以同步账本,更换账本。 点击主页面右下角的更多,进入功能设置页面,就可以根据自己的需要进行设置。 -
下载微信客户端到手机[2022-03-07]
你好,安卓手机可以在应用宝下载,因为在应用宝里面下载的都是官网的软件,是安全无毒的,毕竟保护手机的安全才是最主要的,所以下载软件当然要选择安全的市场了。它还有很多的功能,例如游戏升级的时候会提示你升级,有了新游戏,会提示你什么时候开服之类的等等。 -
如何将手机重新安装微信[2022-08-17]
重新安装微信的步骤是: 1、选择手机目前的微信软件进行卸载; 2、打开浏览器或者手机上自带的应用商店,搜索“微信”; 3、找到微信后,点击“下载”,并“安装”; 4、安装完毕后,你就可以登陆自己的微信号了。 -
android 模拟器上使用微信的问题。系统为windows。[2024-01-11]
晕,你还以为你电脑多强啊,用windows模拟安卓,i7的cpu模拟起来都卡,想玩安卓买个机子不就行咯,windows上的安卓是给开发人员测试用的,不能日常使用 -
微信公众平台的密码和微信的密码一样吗?[2023-07-24]
微信公众平台需要重新注册,账户是邮箱,密码需要重新设定 和微信不是一回事