参考学习后遇到问题:
要引用:有好几个,可以用错误提示解决;
import android.widget.PopupWindow;
import android.widget.Toast;
Activity调用过程 :
首先定义一个BUTTON变量和mContext
private Button mshowBtn;
private Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startService(new Intent(LoginActivity.this, MicroVideoService.class));
bindXMPPService();
setContentView(R.layout.loginpage);
mContext=this;
initView();
}
//指定事件
mshowBtn= (Button) findViewById(R.id.showbtn);
mshowBtn.setOnClickListener(mshowBtnOnClickListener);
//实现事件并调用
private OnClickListener mshowBtnOnClickListener= new OnClickListener(){
@Override
public void onClick(View v) {
showPopWindow(mContext,v);
}
};
(转自:import android.widget.PopupWindow;)
Android 中PopupWindow使用。
PopupWindow会阻塞对话框,要在外部线程 或者 PopupWindow本身做退出才行。
mypopWindow.xml的Layout设计如下
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<LinearLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"fill_parent"
android:layout_height=
"fill_parent"
android:background=
"#259"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/textView1"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Here is Pop Window"
/>
<Button
android:id=
"@+id/button1"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"OK"
/>
<Button
android:id=
"@+id/button2"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Cancle"
/>
</LinearLayout>
在MainActivity的Button按钮单击,然后显示PopupWindow。
private
void
showPopWindow(Context context, View parent)
{
LayoutInflater inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final
View vPopWindow=inflater.inflate(R.layout.mypopwindow,
null
,
false
);
//宽300 高300
final
PopupWindow popWindow =
new
PopupWindow(vPopWindow,
300
,
300
,
true
);
Button okButton = (Button)vPopWindow.findViewById(R.id.button1);
okButton.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.
this
,
"You click OK"
, Toast.LENGTH_SHORT).show();
}
});
Button cancleButton = (Button)vPopWindow.findViewById(R.id.button2);
cancleButton.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
// TODO Auto-generated method stub
popWindow.dismiss();
//Close the Pop Window
}
});
popWindow.showAtLocation(parent, Gravity.CENTER,
0
,
0
);
}