Android高手之路之popUpWindow的显示与关闭
Posted 呼啸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android高手之路之popUpWindow的显示与关闭相关的知识,希望对你有一定的参考价值。
popWIndow的效果就类似一个固定的小窗口。直接看效果吧
效果:
主要代码:
package com.example.popupwindowdemo;
import android.os.Bundle;
import android.app.Activity;
import android.app.ActionBar.LayoutParams;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.PopupWindow;
public class MainActivity extends Activity implements OnClickListener
private Button btn_show,btn_close;
private PopupWindow mPopupWindow;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_show = (Button)findViewById(R.id.btn_show);
btn_show.setOnClickListener(this);
btn_close = (Button)findViewById(R.id.btn_close);
btn_close.setOnClickListener(this);
@Override
public boolean onCreateOptionsMenu(Menu menu)
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
@Override
public void onClick(View v)
switch (v.getId())
case R.id.btn_show:
if(null == mPopupWindow || !mPopupWindow.isShowing())
LayoutInflater mLayoutInflater = (LayoutInflater) this
.getSystemService(LAYOUT_INFLATER_SERVICE);
View music_popunwindwow = mLayoutInflater.inflate(
R.layout.music_popwindow, null);
mPopupWindow = new PopupWindow(music_popunwindwow,LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);
mPopupWindow.showAtLocation(findViewById(R.id.main), Gravity.RIGHT|Gravity.BOTTOM, 0, 0);
break;
case R.id.btn_close:
if(null != mPopupWindow && mPopupWindow.isShowing())
mPopupWindow.dismiss();
if(null == mPopupWindow)
Log.e("MainActivity","null == mPopupWindow");
break;
default:
break;
activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/main"
android:orientation="horizontal"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btn_show"
android:text="show" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btn_close"
android:text="close"/>
</LinearLayout>
</pre><pre code_snippet_id="595385" snippet_file_name="blog_20150202_3_6885971" name="code" class="html">
music_popwindow.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="wrap_content"
android:background="#77777777"
android:orientation="vertical" >
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="like"/>
</LinearLayout>
以上是关于Android高手之路之popUpWindow的显示与关闭的主要内容,如果未能解决你的问题,请参考以下文章