Android:将按钮放在文本下面而不是在同一行

时间:2012-11-04 13:34:39

标签: android xml android-layout

我正在制作一个简单的Android应用程序。

这是XML代码:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="Score: "
    tools:context=".Adder" />
<TextView
    android:id="@+id/score"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="0"
    tools:context=".Adder" />
<Button
    android:id="@+id/one"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:text="1"
    android:textSize="20dp" />

<Button
android:id="@+id/two"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="2"
android:textSize="20dp" />

提供输出:http://flic.kr/p/dqwmT9

但是,我希望按钮出现在“得分:0”

之下

我尝试了一些提供输出的内容:http://flic.kr/p/dqwbxD

我该怎么做才能解决这个问题?

注意:我已经提供了链接,因为我没有足够的声誉来上传照片。

4 个答案:

答案 0 :(得分:1)

试试这个。实际上,您可以复制并粘贴它。更改属性,你就可以了。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/txtScoreLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="5dp"
        android:text="Score" />

    <TextView
        android:id="@+id/txtScore"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/txtScoreLabel"
        android:layout_marginLeft="5dp"
        android:layout_toRightOf="@+id/txtScoreLabel"
        android:text="0" />

    <Button
        android:id="@+id/one"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/txtScoreLabel"
        android:layout_below="@+id/txtScoreLabel"
        android:text="Button One" />

    <Button
        android:id="@+id/two"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/one"
        android:layout_marginLeft="5dp"
        android:layout_toRightOf="@+id/one"
        android:text="Button Two" />

</RelativeLayout>

答案 1 :(得分:0)

您想要使用RelativeLayout然后为显示“得分”的TextView分配一个ID:

<TextView
    android:id="@+id/score_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="Score: "
    tools:context=".Adder" />

然后根据以下内容为按钮分配位置:

<Button
    android:id="@+id/one"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:layout_below="@id/score_text"
    android:text="1"
    android:textSize="20dp" />
<Button
    android:id="@+id/one"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:layout_below="@id/score_text"
    android:layout_toRightOf="@id/one"
    android:text="2"
    android:textSize="20dp" />

答案 2 :(得分:0)

只需使用相对布局而不是线性布局。

<Button
android:id="@+id/one"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_below="@id/score_text"
android:text="1"
android:textSize="20dp" />

答案 3 :(得分:-1)

你必须设置

android:orientation="vertical"

到父布局(如果它是LinearLayout)。 如果您的父布局是RealativeLayout,则必须设置

android:below="id of the view above"

TextView下面的按钮。

编辑(因为您的ParentLayout是LinearLayout):

 <LinearLayout
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="vertical"
    >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="Score: "
        tools:context=".Adder" />
    <TextView
        android:id="@+id/score"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="0"
        tools:context=".Adder" />
    <LinearLayout
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="horizontal"
    >

    <Button
        android:id="@+id/one"
        android:layout_width="50dp"
        android:layout_height="wrap_content"
        android:text="1"
        android:textSize="20dp" />

    <Button
    android:id="@+id/two"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:text="2"
    android:textSize="20dp" />
    />

/>