0

嗨_我想创建一些对话框(我知道它对我来说是更好的变体),它包含这样的图像和图像按钮/对话框将通过方法调用onClick 请推荐我最短的实现变体(实际上是关于视觉表示,它必须是下一个:单击按钮布局后变得有点暗或灰色,并且在布局的中心用按钮创建我的图片)如果对话框在这种情况下没有用,请推荐我别的东西

4

1 回答 1

1

试试这样:

Button d = (Button) findViewById(R.id.btnId);
    d.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Fragment1 dialogFragment = Fragment1.newInstance(null);
            dialogFragment.show(getFragmentManager(), "dialog");
        }
    });

并在你的 .java 文件中创建一个像这样的类 Fragment1,如下所示:

public static class Fragment1 extends DialogFragment {

    static Fragment1 newInstance(String title) {
        Fragment1 fragment = new Fragment1();
        Bundle args = new Bundle();
        args.putString("title", title);
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        final Dialog dialog = super.onCreateDialog(savedInstanceState);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        LayoutInflater adbInflater = LayoutInflater.from(getActivity());
        View eulaLayout = adbInflater.inflate(R.layout.your_xml, null);
        Button btn_OK = (Button) eulaLayout.findViewById(R.id.BTNok);
        dialog.setContentView(eulaLayout);
        btn_OK.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                dialog.dismiss();
            }
        });
        return dialog;
    }
}

your_xml 是显示对话框的 xml 文件。

已编辑

在您的代码中,您有这样的导入:

import android.support.v4.app.DialogFragment;

将其更改为:

import android.app.DialogFragment;

最后,由于它需要11以上的 api 级别,因此会出现一些错误。因此,您必须像这样在清单中进行更改:

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="17" />

这可能会对您有所帮助。

于 2013-08-27T12:14:23.790 回答