如何集中Android上的按钮?

时间:2015-02-11 23:50:27

标签: android android-layout android-view android-dialog

我在创建像that这样的布局时遇到了麻烦,图像左侧是对话框。但我想用水平方向创建它。我希望我的布局有appearance,但只有两个水平按钮。

我的问题是布局xml文件,我不知道如何开始这个布局... =(

真正的问题是如何编辑xml文件到按钮集中,我尝试了很多思考,填充,方向,对齐等...但我不能对齐它。我目前的布局是that。如何集中按钮?

有人能帮助我吗?

这是我的xml文件代码......

<?xml version="1.0" encoding="utf-8"?>

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Large Text"
    android:id="@+id/textView6"
    />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Large Text"
    android:id="@+id/textView7"
/>

有人可以帮助我吗?

4 个答案:

答案 0 :(得分:1)

首先,您需要使用您提到的按钮创建所需的布局(我想您可以自己完成)。然后,您将使用该布局来膨胀AlertDialog,如下所示:

View alertView = getLayoutInflater().inflate(
                R.layout.your_custom_layout,
                (ViewGroup) findViewById(R.id.alertViewLayout));

new AlertDialog.Builder(this)
        .setTitle(title)
        .setView(alertView)
        .setPositiveButton("Yes",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,
                            int which) {
                        // handle click here

                        // dismiss AlertDialog
                        dialog.dismiss();
                    }
                })
        .setNegativeButton("No",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,
                            int which) {
                        // handle click here

                        // dismiss AlertDialog
                        dialog.dismiss();
                    }
                }).show();

您可以通过引用父视图(AlertDialog)来访问alertView布局中的视图;

ImageButton button1 = (ImageButton) alertView.findViewById(R.id.button1);
ImageButton button2 = (ImageButton) alertView.findViewById(R.id.button2);

修改

这是一个样本布局文件,并排放置了ImageButtons个。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/alertViewLayout"
    android:layout_gravity="center"
    android:gravity="center"
    android:orientation="horizontal">

    <ImageButton
        android:id="@+id/button1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="left|center"
        android:layout_weight=".5"
        android:background="@+drawable/imageButton1"
        android:text="Button 1" />

    <ImageButton
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="right|center"
        android:layout_weight=".5"
        android:background="@+drawable/imageButton2"
        android:text="Button 2" />

</LinearLayout>

修改2

由于您希望按钮具有自定义背景,因此建议您使用ImageButton并将background属性设置为您选择的背景。

如果您想了解有关如何创建布局文件的更多详细信息,可以查看Android Developer documentation

如果有帮助,请告诉我。

答案 1 :(得分:1)

你可以这样做:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:orientation="horizontal">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button1"
            android:id="@+id/button1" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button2"
            android:id="@+id/button2" />
    </LinearLayout>
</RelativeLayout>

答案 2 :(得分:0)

请问您的问题更清楚吗?我不知道我是否做对了,但我会尝试解释它。

首先,如果要为对话框创建自定义布局,则应创建.xml文件,然后使用此特定布局对其进行充气。

但我认为这不是你的情况,你想要做的就是简单地创建一个自定义对话框,对吗?屏幕方向无关紧要(我不知道你的意思)。

我认为我不应该向您解释整个过程或只是粘贴代码,最好让您使用android官方文档,所以请看一下这个链接:Dialogs | Android Development

希望它可以帮到你。

答案 3 :(得分:0)

最简单的答案:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content" 
android:gravity="center_vertical"
android:orientation = "horizontal">

 <Button
 android:layout_width="0dp"
 android:layout_height="wrap_content"
 android:layout_weight="1"
 android:text="Large Text"
 android:id="@+id/textView6"
 />

 <Button
 android:layout_width="0dp"
 android:layout_height="wrap_content"
 android:layout_weight="1"
 android:text="Large Text"
 android:id="@+id/textView7"/>

</LinearLayout>