Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中将按钮置于屏幕中央_Android_Android Layout - Fatal编程技术网

如何在Android中将按钮置于屏幕中央

如何在Android中将按钮置于屏幕中央,android,android-layout,Android,Android Layout,我在线性布局中有一个按钮,我希望它保持在中心(水平)。 我为按钮和线性布局设置了android:gravity=“center\u horizontal”,但运气不好 <LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/linearLayout4" android:layout_gravity="center_horizontal"&

我在
线性布局中有一个按钮,我希望它保持在中心(水平)。
我为
按钮和
线性布局设置了
android:gravity=“center\u horizontal”
,但运气不好

 <LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/linearLayout4" android:layout_gravity="center_horizontal">
        <Button android:id="@+id/button1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:gravity="center_horizontal" android:text="Search"></Button>
    </LinearLayout>

~Ajinkya。

它应该是android:Layou gravity而不是android:gravity。

您可以使用相对布局并将子项设置为
android:layout\u centerInParent=“true”
。当谈到居中时,线性布局有点棘手。请查看本文。

尝试使用此布局

<LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal">
    <LinearLayout android:id="@+id/linearLayout2" android:layout_height="wrap_content" android:gravity="center" android:layout_width="match_parent">
        <Button android:text="Button" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
    </LinearLayout>
</LinearLayout>

您可以使用此问题的解决方案:


基本上,使用RelativeLayout而不是LinearLayout。

我是否应该将其用于
按钮和
线性布局
?android:可以在LinearLayout上使用重力,并将其子视图设置为居中。android:layout\u gravity将自身设置为在父视图中居中。将线性/相对布局上的layout\u宽度设置为填充父视图,并将布局\u gravity放回。我认为是其他一些代码导致了这一点。将在我的问题中从我的代码中放入一些块。更改android:layout\u width=“wrap\u content”android:layout\u height=“wrap\u content”在与android:layout\u width=“fill\u parent”的相对布局中,它用另一个水平方向的线性布局包装按钮。因此,它将跨越父对象,并允许重心工作。Thanks@Ajunkya尝试将版面宽度设置为“填充父项”。@downvoter您能发表评论吗?这个答案或链接中的答案可能不适合您,但您可以指出问题所在。
<LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal">
    <LinearLayout android:id="@+id/linearLayout2" android:layout_height="wrap_content" android:gravity="center" android:layout_width="match_parent">
        <Button android:text="Button" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
    </LinearLayout>
</LinearLayout>