看不到第二个按钮

时间:2014-04-21 07:52:31

标签: android android-layout android-linearlayout android-view

我正在尝试在主屏幕上创建菜单,但我看不到我创建的第二个按钮。我尝试android:layout_below="@+id/score_button",但它会发出警告“无效的布局参数”

这是我的xml文件

<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:orientation="horizontal" >

    <Button
        android:id="@+id/score_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="scoreGame"
        android:text="@string/score_button" />

    <Button
        android:id="@+id/settings_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/action_settings" />

</LinearLayout>

我注意到的是,在xml文件中首先放置的按钮是我在设备上运行应用程序时显示的按钮。

提前感谢您的帮助,非常感谢。

11 个答案:

答案 0 :(得分:1)

使用 RelativeLayout 代替 LinearLayout 然后你可以使用android:layout_below="@+id/score_button"

并在使用RelativeLayout时删除android:orientation="horizontal"

答案 1 :(得分:0)

将layout_width更改为wrap_content:

<Button
    android:id="@+id/score_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="scoreGame"
    android:text="@string/score_button" />


<Button
    android:id="@+id/settings_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/action_settings" />

另外,如果你想要相等的宽度按钮,请给出layout_weight:

android:layout_weight="1"

两个按钮。

答案 2 :(得分:0)

尝试以下代码: -

<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:orientation="horizontal" >

    <Button
        android:id="@+id/score_button"
        android:layout_width="50dp"
        android:layout_height="wrap_content"
        android:onClick="scoreGame"
        android:text="@string/score_button" />

    <Button
        android:id="@+id/settings_button"
        android:layout_width="50dp"
        android:layout_height="wrap_content"
        android:text="@string/action_settings" />

</LinearLayout>

答案 3 :(得分:0)

通过此代码重新编写xml代码...

 <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:orientation="horizontal" >

<Button
    android:id="@+id/score_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="scoreGame"
    android:text="@string/score_button" />

<Button
    android:id="@+id/settings_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/action_settings" />

</LinearLayout>

答案 4 :(得分:0)

用户方向为垂直。在线性布局中,没有layout_below属性。改为使用相对布局。

答案 5 :(得分:0)

为两个按钮强制相同的宽度:

<Button
    android:layout_width="0dp"
    android:layout_weight="1"
    ... />

<Button
    android:layout_width="0dp"
    android:layout_weight="1"
    ... />

使用自然按钮宽度:

<Button
    android:layout_width="wrap_content"
    ... />

<Button
    android:layout_width="wrap_content"
    ... />

答案 6 :(得分:0)

而不是&#34; match_parent&#34;宽度,重量

  <Button
        android:id="@+id/score_button"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:onClick="scoreGame"
        android:text="@string/score_button" />

    <Button
        android:id="@+id/settings_button"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="@string/action_settings" />

答案 7 :(得分:0)

如果您想要水平显示菜单

<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:orientation="horizontal" >

    <Button
        android:id="@+id/score_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="scoreGame"
        android:layout_weight="1"
        android:text="@string/score_button" />

    <Button
        android:id="@+id/settings_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/action_settings" />

</LinearLayout>

如果你想显示另一个更改方向为Vertical

答案 8 :(得分:0)

试试这个..

将此方向 horizontal更改为vertical,如下所示

android:orientation="horizontal" 

android:orientation="vertical" 

答案 9 :(得分:0)

适当调整按钮的宽度和高度,然后再次检查..最好的

答案 10 :(得分:0)

android:layout_below=""属性只能与相对布局一起使用。您选择了线性布局

此外,两个按钮都会为match_parent属性选择“android:layout_width”。

将“match_parent”更改为“wrap_content”,否则将线性布局的android:orientation标记更改为“垂直”。

此外,如果您将布局更改为相对,它将起作用。