Android如何创建弹出窗口

6

我需要创建一个有按钮的弹出窗口,还要有一个关闭按钮来关闭弹出窗口。我找到了一些教程,但不知道如何实现。

我的需求是:点击一个动作按钮,然后弹出窗口显示,在点击关闭按钮时可以关闭弹出窗口。

这些教程中有一个onCreate方法,但我不理解它是如何调用的。

请问有人可以提供一个弹出窗口实现的示例或一个好的教程链接吗?谢谢!


1
你能发一下你尝试的代码吗? - mohammed momn
请参考以下链接,这是一个弹出窗口的示例:http://mrbool.com/how-to-implement-popup-window-in-android/28285。而这个链接则是一个对话框的示例:http://www.mkyong.com/android/android-custom-dialog-example/。 - nEwbie
http://www.mkyong.com/android/android-custom-dialog-example/ - Dhaval
@user3132352 你需要在哪里展示它?是在中央还是其他地方? - Hariharan
如果您已经找到了满意的答案,请接受该答案。 您还在寻找满意的答案吗? - DsD
显示剩余3条评论
2个回答

7
private void showPopup(){
    Button btn_closepopup=(Button)layout.findViewById(R.id.btn_closePoppup);
    pwindo=new PopupWindow(layout,480,500,true);
    pwindo.showAtLocation(layout, Gravity.CENTER, 0, 40);
    chartContainer1.addView(mChart);
    btn_closepopup.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            pwindo.dismiss();
        }
    });
}

谢谢,但我还需要一个创建弹出窗口的示例。 - user3132352
1
请点击以下链接查看有关使用PopupWindow的示例:http://android-er.blogspot.in/2012/03/example-of-using-popupwindow.html - Zeeshan Khan

6

private void callPopup() {

    LayoutInflater layoutInflater = (LayoutInflater)getBaseContext()
        .getSystemService(LAYOUT_INFLATER_SERVICE);

    View popupView = layoutInflater.inflate(R.layout.popup, null);

    popupWindow=new PopupWindow(popupView,
        LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT,        
        true);

    popupWindow.setTouchable(true);
    popupWindow.setFocusable(true);

    popupWindow.showAtLocation(popupView, Gravity.CENTER, 0, 0);
    Name = (EditText) popupView.findViewById(R.id.edtimageName);

    ((Button) popupView.findViewById(R.id.saveBtn))
        .setOnClickListener(new OnClickListener() {

        @TargetApi(Build.VERSION_CODES.GINGERBREAD)
        public void onClick(View arg0) {
            Toast.makeText(getApplicationContext(),
                Name.getText().toString(),Toast.LENGTH_LONG).show();

            popupWindow.dismiss();
        }
    });

    ((Button) popupView.findViewById(R.id.cancelbtutton))
        .setOnClickListener(new OnClickListener() {

        public void onClick(View arg0) {
            popupWindow.dismiss();
        }
    });
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接