Android 中PopupWindow使用。
PopupWindow会阻塞对话框,要在外部线程 或者 PopupWindow本身做退出才行。
mypopWindow.xml的Layout设计如下
class="java plain"><?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.java文件。
在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
);
}
效果图如下:最后显示是剧中的,这里我只是截取了部分图片。
单击Ok按钮显示You click OK信息。单击取消,则关闭PopupWindow.