Android:在自定义对话框中放置2个按钮以显示在中心

时间:2012-01-27 21:34:33

标签: java android

我有一个自定义对话框。 我想将2个按钮水平放置在另一个附近,以显示在中央。 我怎样才能做到这一点?

非常类似于是/否消息框。

我正在寻找一种在布局xml文件中执行此操作的方法。

3 个答案:

答案 0 :(得分:3)

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
    <LinearLayout
       android:orientation="horizontal"
       android:width="wrap_content"
       android:height="wrap_content"
       android:layout_centerHorizontal="true">

 ... And two buttons here

答案 1 :(得分:1)

来自Android Dev

AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("Are you sure you want to exit?")
           .setCancelable(false)
           .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                    MyActivity.this.finish();
               }
           })
           .setNegativeButton("No", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
               }
           });
    AlertDialog alert = builder.create();

你可能正在寻找类似的东西。您可以设置“正面”和“负面”按钮来说出您想要的任何内容,让每个人都做自己的事情。在你的情况下(和大多数情况下)是和否在这里是完美的!

也可以通过以下链接找到xml文件的一些示例,以及之前使用的链接。

Blog about custom dialogs. (Nice Example Code)

答案 2 :(得分:0)

您可以使用xml来定义所需的Dialog内容的布局,然后使用layoutInflater将其设置为AlertDialog中的视图:

AlertDialog.Builder builder;
AlertDialog alertDialog;

Context mContext = getApplicationContext();
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.custom_dialog, (ViewGroup) findViewById(R.id.layout_root));

TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("Hello, this is a custom dialog!");
ImageView image = (ImageView) layout.findViewById(R.id.image);
image.setImageResource(R.drawable.android);

builder = new AlertDialog.Builder(mContext);
builder.setView(layout);
alertDialog = builder.create();

文档来源:http://developer.android.com/guide/topics/ui/dialogs.html#CustomDialog