如何在Android中垂直居中按钮并使其设计整洁 我在Android中有一个非常简单的应用程序,带有一个空白的句子,还有两个按钮,可能是空白的填充物。在底部,我有两条线告诉你我们在哪里,有多少答案是正确的 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TextView android:id="@+id/sentence" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Today we meet __ to give you some good news." android:padding="8dp" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_gravity="center_horizontal"> <Button android:id="@+id/leftAnswerButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="with you" /> <Button android:id="@+id/rightAnswerButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="with each other" /> </LinearLayout> <Button android:id="@+id/nextButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Next" android:layout_gravity="center" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" > <TextView android:id="@+id/progres" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Question: 3/10" android:paddingRight="4dp" android:paddingLeft="12dp" android:layout_gravity="bottom|left" android:paddingBottom="4dp" /> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:layout_gravity="bottom"> <TextView android:id="@+id/encerts" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Correct: 2/9" android:paddingRight="12dp" android:paddingLeft="4dp" android:layout_gravity="right" android:paddingBottom="4dp" /> </LinearLayout> </LinearLayout>
我想做的是把句子放在最上面,两个可能的答案垂直地集中在屏幕上。“下一步”按钮将位于两个可能的答案下方,底部的小状态屏幕应继续位于底部。如何在Android中垂直居中按钮并使其设计整洁 我在Android中有一个非常简单的应用程序,带有一个空白的句子,还有两个按钮,可能是空白的填充物。在底部,我有两条线告诉你我们在哪里,有多少答案是正确的 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TextView android:id="@+id/sentence" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Today we meet __ to give you some good news." android:padding="8dp" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_gravity="center_horizontal"> <Button android:id="@+id/leftAnswerButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="with you" /> <Button android:id="@+id/rightAnswerButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="with each other" /> </LinearLayout> <Button android:id="@+id/nextButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Next" android:layout_gravity="center" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" > <TextView android:id="@+id/progres" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Question: 3/10" android:paddingRight="4dp" android:paddingLeft="12dp" android:layout_gravity="bottom|left" android:paddingBottom="4dp" /> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:layout_gravity="bottom"> <TextView android:id="@+id/encerts" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Correct: 2/9" android:paddingRight="12dp" android:paddingLeft="4dp" android:layout_gravity="right" android:paddingBottom="4dp" /> </LinearLayout> </LinearLayout>,android,Android,我想做的是把句子放在最上面,两个可能的答案垂直地集中在屏幕上。“下一步”按钮将位于两个可能的答案下方,底部的小状态屏幕应继续位于底部。 我尝试了许多布局属性的可能性,并添加了额外的LinearLayout,但迄今为止运气不佳。您可以将父LinearLayout替换为relativelayout,然后您可以使用相对标签放置所有内容。有两种解决方案,请尝试 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr
我尝试了许多布局属性的可能性,并添加了额外的LinearLayout,但迄今为止运气不佳。您可以将父LinearLayout替换为relativelayout,然后您可以使用相对标签放置所有内容。有两种解决方案,请尝试
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical" >
<TextView
android:id="@+id/sentence"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:text="Today we meet __ to give you some good news." />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="horizontal" >
<Button
android:id="@+id/leftAnswerButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="with you" />
<Button
android:id="@+id/rightAnswerButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="with each other" />
</LinearLayout>
<Button
android:id="@+id/nextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Next" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/progres"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|left"
android:paddingBottom="4dp"
android:paddingLeft="12dp"
android:paddingRight="4dp"
android:text="Question: 3/10" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:gravity="right"
android:orientation="horizontal" >
<TextView
android:id="@+id/encerts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:paddingBottom="4dp"
android:paddingLeft="4dp"
android:paddingRight="12dp"
android:text="Correct: 2/9" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
更改将根元素的高度设置为包裹内容,并将其布局重心设置为垂直中心
…请查看
FrameLayout
和layout\u centerInParent
属性。您的意思是RelativeLayout
layout\u centerInParent
用于RelativeLayout
但仅水平居中,在父级中似乎没有用于垂直居中的相应参数(参见我对第一个建议答案的评论)。哦,对不起,当然是RelativeLayout
<子视图的代码>布局\u centerInParent应该可以工作-我以前使用过它。或者,使用android:gravity=“center\u vertical”§或android\u centerVertical=“true”。是的,在我将句子(第一个TextView
)包含在线性布局中后,它工作正常。然后使用android:gravity=center\u vertical
进行LinearLayout
,其中包括两个可能的答案按钮。奇怪的是,如果没有封闭的线性布局
它就不起作用了。下次,把它标记为答案而不是注释。我只能将下面提出的使用RelativeLayout
的建议标记为答案,而不是真正的解决方案。“今天我们见面,给你一些好消息。”这句话应该放在最上面,两个状态TextView
(id的progres
和encerts
应该在底部附近。在您的解决方案中,所有内容都在中心杂乱无章。我尝试了这个方法,得到了与线性布局相同的布局,代码更少。两个答案所在的线性布局的布局中心属性不等于true
,但是此参数水平居中且layout\u centerVertical
等于true无效。在父级垂直居中(如果存在此参数,可称为layout\u centerVerticalInParent
)似乎不支持RelativeLayout
。是的,它按照此路径工作。请查看初始问题后的注释。