Relativeview 5按钮,不明白我的错误

时间:2013-12-22 18:04:59

标签: java android relativelayout

我正努力让自己成为一个应用程序,以跟踪我在健身房的进展,因为这是我新的一年决议...我不去健身房,我想如果我能跟踪进展,我可能有兴趣回去。

这是我的问题:

我正在做我的主要布局,我想要一个大按钮,说:开始锻炼。 我希望有4个按钮彼此相邻,每个按钮之间有一些空格,四个按钮一起形成一个正方形。

我写了这段代码,现在一切都没有。我甚至不知道在哪里看。我知道我可以使用LinearLayout,但我到处读到RelativeLayout应该优先考虑

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

<Button 
android:id="@+id/start_workout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:hint="@string/start_workout" 
/>

<Button 
android:id="@+id/log_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:hint="@string/log_button"
/>

<Button
android:id="@+id/progress_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:hint="@string/progress_button"
/>  

<Button
android:id="@+id/cardio_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/calendar_button"
android:layout_below="@id/progress_button"
android:hint="@string/cardio_button"
/>

<Button
android:id="@+id/calendar_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/cardio_button"
android:layout_below="@+id/log_button"
android:hint="@string/calendar_button" />

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

试试这个,但最好在你的情况下使用线性布局

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

    <Button
        android:id="@+id/cardio_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/log_button"
        android:hint="cardio_button" />

    <Button
        android:id="@+id/progress_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/log_button"
        android:layout_alignBottom="@+id/log_button"
        android:layout_toRightOf="@+id/cardio_button"
        android:hint="progress_button" />

    <Button
        android:id="@+id/calendar_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/cardio_button"
        android:layout_alignBottom="@+id/cardio_button"
        android:layout_toRightOf="@+id/cardio_button"
        android:hint="calendar_button" />

    <Button
        android:id="@+id/log_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/start_workout"
        android:layout_marginTop="50dp"
        android:layout_toLeftOf="@+id/progress_button"
        android:hint="log_button" />

    <Button
        android:id="@+id/start_workout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:hint="start_workout" />

</RelativeLayout>

答案 1 :(得分:0)

在这里。

第一个按钮是屏幕宽,顶部对齐。

其他四个占据每个屏幕宽度的1/4并且都低于顶部

<RelativeLayout
    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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity"
    >
    <Button
        android:id="@+id/start_workout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:text="Start workout"
        android:textSize="12sp"
    />
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/start_workout"
        android:orientation="horizontal"
        >
        <Button
            android:id="@+id/cardio_button"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Cardio"
            android:textSize="12sp"
        />
        <Button
            android:id="@+id/progress_button"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Progress"
            android:textSize="12sp"
        />
        <Button
            android:id="@+id/calendar_button"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Calendar"
            android:textSize="12sp"
        />
        <Button
            android:id="@+id/log_button"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Log"
            android:textSize="12sp"
        />
    </LinearLayout>
</RelativeLayout>