popupwindow的学习
2016-04-11 23:56
357 查看
源地址:http://blog.csdn.net/xyz_lmn/article/details/6906286
自定义的一个弹窗,学习学习。
MainActivity.java:
popup_activity.xml:
popup_window.xml:
自定义的一个弹窗,学习学习。
MainActivity.java:
package com.example.li.popupwindow; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.PopupWindow; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ View view; PopupWindow pop; Button btnShowAsDrawDown; Button btnShowAsDrawDown1; Button btnShowAtLocation; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.popup_activity); btnShowAsDrawDown = (Button) findViewById(R.id.btnShowAsDrawDown); btnShowAsDrawDown.setOnClickListener(this); btnShowAsDrawDown1 = (Button) findViewById(R.id.btnShowAsDrawDown1); btnShowAsDrawDown1.setOnClickListener(this); btnShowAtLocation = (Button) findViewById(R.id.btnShowAt); btnShowAtLocation.setOnClickListener(this); initPopupWindow(); } private void initPopupWindow() { view = this.getLayoutInflater().inflate(R.layout.popup_window, null); pop = new PopupWindow(view, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT ); pop.setOutsideTouchable(true); Button btnpop = (Button) view.findViewById(R.id.btn_pop); btnpop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { pop.dismiss(); } }); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.btnShowAsDrawDown: if(pop.isShowing()){ pop.dismiss(); }else{ pop.showAsDropDown(v); } break; case R.id.btnShowAsDrawDown1: if(pop.isShowing()){ pop.dismiss(); }else{ pop.showAsDropDown(v, 0, -160); } break; default: if(pop.isShowing()){ pop.dismiss(); }else{ pop.showAtLocation(findViewById(R.id.main), Gravity.CENTER_HORIZONTAL, 0, 0 ); } break; } } }
popup_activity.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="pop demo!" /> <Button android:id="@+id/btnShowAsDrawDown" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Show as drawndown(one parameter)" /> <Button android:id="@+id/btnShowAsDrawDown1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Show as drawndown(three parameters)" /> <Button android:id="@+id/btnShowAt" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Show At Location" /> </LinearLayout>
popup_window.xml:
<?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" android:background="#a00ddddd" android:gravity="center" > <Button android:id="@+id/btn_pop" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="10dip" android:text="Close" /> <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
相关文章推荐
- Centos搭建git服务器
- 【珍藏】linux 同步IO: sync、fsync与fdatasync
- 【珍藏】linux 同步IO: sync、fsync与fdatasync
- [Nginx 2] form表单提交,图片上传
- 创建个人网站(二) 网站备案
- [Nginx 2] form表单提交,图片上传
- Nginx探索五
- 我为什么要学习Linux?
- MVP框架 – Ted Mosby的软件架构
- WF 1995 Stamps and Envelope Size (uvaLive 5181 )
- Hadoop的IO操作
- ListView中pointToPosition()方法使用示例.
- Hadoop MapReduce InputFormat基础
- block为什么用copy
- Nginx服务器
- 大型网站架构不得不考虑的10个问题
- Hadoop学习六:YARN的RM做HA
- Linux Shell 文本处理工具集锦
- OpenCV统计时间
- 把a.txt从Windows拷贝到linux引起的错误------浪费15分钟