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