源码下载:

源码下载

运行效果:

PopupWindow的使用

PopupWindow的使用

按了返回后:

PopupWindow的使用

java代码:

packagecom.example.cest;importandroid.app.Activity;importandroid.graphics.drawable.PaintDrawable;importandroid.os.Bundle;importandroid.view.Gravity;importandroid.view.KeyEvent;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.view.ViewGroup;importandroid.widget.Button;importandroid.widget.PopupWindow;importandroid.widget.TextView;importandroid.widget.Toast;publicclassMainActivityextendsActivity{PopupWindowpopupWindow,popupWindoweExit;Buttonbu_shi,bu_fou;TextViewview1;TextViewview2;Buttonbutton;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button=(Button)findViewById(R.id.bu);button.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewarg0){//TODOAuto-generatedmethodstubpopinit();}});}protectedvoidpopinit(){//TODOAuto-generatedmethodstubLayoutInflaterinflater=LayoutInflater.from(this);Viewpop_view=inflater.inflate(R.layout.bujv,null);view1=(TextView)pop_view.findViewById(R.id.tv1);view2=(TextView)pop_view.findViewById(R.id.tv2);//设置下拉按钮父布局的高和宽popupWindow=newPopupWindow(pop_view,ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT);popupWindow.setFocusable(true);//没这行按钮下拉了,按手机返回会直接退出//popupWindow.setOutsideTouchable(true);popupWindow.setBackgroundDrawable(newPaintDrawable());//没这行按钮下拉了不会消失popupWindow.showAtLocation(pop_view,Gravity.BOTTOM,0,0);//PopupWindow显示的位置view1.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//TODOAuto-generatedmethodstubToast.makeText(MainActivity.this,"这是注册",Toast.LENGTH_LONG).show();}});view2.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//TODOAuto-generatedmethodstubToast.makeText(MainActivity.this,"这是登录",Toast.LENGTH_LONG).show();}});}/*按返回弹出是否退出画面***/@OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent){//TODOAuto-generatedmethodstubif(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){popExit();}returnfalse;}/*用PopupWindow做的退出**/privatevoidpopExit(){//TODOAuto-generatedmethodstubLayoutInflaterinflater=LayoutInflater.from(this);Viewpop_view=inflater.inflate(R.layout.exit,null);bu_shi=(Button)pop_view.findViewById(R.id.bu_exit_shi);bu_fou=(Button)pop_view.findViewById(R.id.bu_exit_fou);popupWindoweExit=newPopupWindow(pop_view,200,ViewGroup.LayoutParams.WRAP_CONTENT);popupWindoweExit.setFocusable(true);popupWindoweExit.setOutsideTouchable(true);//popupWindow.setBackgroundDrawable(newPaintDrawable());popupWindoweExit.showAtLocation(pop_view,Gravity.BOTTOM|Gravity.CENTER_VERTICAL,0,150);bu_shi.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//TODOAuto-generatedmethodstubMainActivity.this.finish();}});bu_fou.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//TODOAuto-generatedmethodstubpopupWindoweExit.dismiss();}});}}

点击按钮显示的布局文件bujv.xml:

<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><TextViewandroid:id="@+id/tv1"android:layout_height="wrap_content"android:layout_width="fill_parent"android:gravity="center"android:background="@drawable/btn_style_one_disabled"android:textSize="20sp"android:text="注册"/><TextViewandroid:id="@+id/tv2"android:layout_height="wrap_content"android:layout_width="fill_parent"android:gravity="center"android:background="@drawable/btn_style_one_disabled"android:textSize="20sp"android:text="登录"/></LinearLayout>

按返回按钮弹出退出的xml:

<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="150dp"android:layout_height="wrap_content"android:background="@drawable/bj_but_popwind"android:orientation="vertical"><TextViewandroid:layout_height="wrap_content"android:layout_width="fill_parent"android:gravity="center"android:textSize="20sp"android:textColor="#000000"android:text="退出聊天室"/><TextViewandroid:layout_height="wrap_content"android:layout_width="fill_parent"android:gravity="center"android:textColor="#000000"android:text="退出后你将收不到信息,你确定退出?"/><TableLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:stretchColumns="0,1"><TableRow><Buttonandroid:id="@+id/bu_exit_shi"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center"android:text="是"/><Buttonandroid:id="@+id/bu_exit_fou"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center"android:text="否"/></TableRow></TableLayout></LinearLayout>


更多相关文章

  1. Android重写返回按钮退回桌面(根据源码查看)
  2. android动态布局:用java代码实现LinearLayout以及TextView
  3. android里,addContentView()动态增加view控件,并实现控件的顶部,中
  4. 【从头学android】第一个程序,点按钮显示Hello World
  5. android 按钮的点击缩放
  6. Android中动态设置布局高度一致
  7. 安卓(Android)九宫格布局介绍
  8. android 按钮按下效果2

随机推荐

  1. Android get property的一种方法
  2. android访问php webservice简单一例
  3. Android常用功能实例----(十一)小功能(获
  4. android 地图 MapView API Key 获取
  5. Troubles in Building Android Source Co
  6. Andoid - 开发实例(2): ViewPager卡片式界
  7. "Failed to fetch URL https://dl-ssl.go
  8. Android中调用startActivity结果导致:java
  9. 简单的android折线图绘制
  10. 【Android】Android自定义属性,attr forma