我正在开发一个Android应用程序。
我正在设置按钮保存和关闭居中,但它们显示在左侧。
这是我的XML布局代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/dialogGameName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginBottom="2sp"
android:layout_marginLeft="5sp"
android:layout_marginRight="5sp"
android:layout_marginTop="5sp"
android:typeface="sans"
android:textSize="26sp"
android:textStyle="bold"/>
<TextView
android:id="@+id/dialogGameDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:layout_marginBottom="5sp"
android:layout_marginLeft="5sp"
android:layout_marginRight="5sp"
android:layout_marginTop="2sp"
android:typeface="monospace"
android:textSize="18sp"/>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_vertical|center_horizontal">
<Button
android:id="@+id/registerGameButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/save"
android:gravity="center"
android:layout_marginBottom="5sp"
android:layout_marginLeft="5sp"
android:layout_marginRight="2sp"
android:layout_marginTop="0sp" />
<Button
android:id="@+id/closeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/close"
android:gravity="center"
android:layout_marginBottom="5sp"
android:layout_marginLeft="2sp"
android:layout_marginRight="5sp"
android:layout_marginTop="0sp"/>
</LinearLayout>
</LinearLayout>
答案 0 :(得分:5)
你不能真正集中任何东西,除非它的父母比它大。你有按钮的父亲作为wrap_content,所以没有空间集中...尝试按钮:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="center">
<Button
android:id="@+id/registerGameButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="save"
android:layout_marginBottom="5sp"
android:layout_marginLeft="5sp"
android:layout_marginRight="2sp"
android:layout_marginTop="0sp" />
<Button
android:id="@+id/closeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="close"
android:layout_marginBottom="5sp"
android:layout_marginLeft="2sp"
android:layout_marginRight="5sp"
android:layout_marginTop="0sp"/>
</LinearLayout>
答案 1 :(得分:3)
添加:
android:gravity="center_horizontal"
对于水平线性布局,包含两个按钮的布局。
“android:layout_gravity”决定视图应如何在其父级中定位,而“android:gravity”决定视图子级应如何对齐
答案 2 :(得分:1)
你的一些提示(我在你的xml中所做的改变)
android:layout_gravity
用于我们需要设置的孩子的布局android:gravity
为了获得确切的中心,我们设置了android:gravity="center"
为了将孩子设置在正确的中心,父母应该与android:layout_width="fill_parent"
和android:layout_height="fill_parent"
如果该布局是任何其他布局的子项,则它也应该与android:layout_width="fill_parent"
和android:layout_height="fill_parent"
<TextView
android:id="@+id/dialogGameName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginBottom="2sp"
android:layout_marginLeft="5sp"
android:layout_marginRight="5sp"
android:layout_marginTop="5sp"
android:text="asdff"
android:typeface="sans"
android:textSize="26sp"
android:textStyle="bold"/>
<TextView
android:id="@+id/dialogGameDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:text="asdff"
android:layout_marginBottom="5sp"
android:layout_marginLeft="5sp"
android:layout_marginRight="5sp"
android:layout_marginTop="2sp"
android:typeface="monospace"
android:textSize="18sp"/>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="center">
<Button
android:id="@+id/registerGameButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/save"
android:gravity="center"
android:layout_marginBottom="5sp"
android:layout_marginLeft="5sp"
android:layout_marginRight="2sp"
android:layout_marginTop="0sp" />
<Button
android:id="@+id/closeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/close"
android:gravity="center"
android:layout_marginBottom="5sp"
android:layout_marginLeft="2sp"
android:layout_marginRight="5sp"
android:layout_marginTop="0sp"/>
</LinearLayout>