无法获得评级栏以与文本视图对齐

时间:2017-05-02 09:57:26

标签: android xml android-layout

我正在尝试使用ratingbars和textviews创建一个可滚动的列表。 但是我无法让它们正确对齐。我想在所有textviews和评级栏之间间距。 我试图使用layout_below,但这不会产生我想要的东西,我也试过拖动,但这也没有创建想要的效果。

任何帮助将不胜感激:)

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimaryDark"
tools:context="uk.co.neverendingsport.neverendingsport.LoginActivity">


<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Continue"
    android:layout_alignParentBottom="true"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="13dp"
    android:id="@+id/button" />

<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Select Sports"
    android:textSize="30sp"
    android:textStyle="bold"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />


  <RelativeLayout
  android:layout_width="wrap_content"
  android:layout_height="match_parent"
  android:layout_below="@+id/textView4"
  android:layout_alignParentStart="true">

  <TextView
    android:id="@+id/footballTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Football"
    android:textSize="30sp"
      android:layout_above="@+id/cyclingRatingBar"
      android:layout_alignParentStart="true" />
  <RatingBar
      android:id="@+id/footballRatingBar"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentTop="true"
      android:layout_alignParentEnd="true" />

  <TextView
      android:id="@+id/cyclingTextView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Cycling"
      android:textSize="30sp"
      android:layout_above="@+id/badmintonTextView"
      android:layout_alignParentStart="true"
      android:layout_marginBottom="10dp" />
  <RatingBar
      android:id="@+id/cyclingRatingBar"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@+id/footballRatingBar"
      android:layout_alignParentEnd="true" />

  <TextView
      android:id="@+id/badmintonTextView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Badminton"
      android:textSize="30sp"
      android:layout_below="@+id/cyclingRatingBar"
      android:layout_alignParentStart="true"
      android:layout_marginBottom="10dp"/>
  <RatingBar
      android:id="@+id/badmintonRatingBar"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_above="@+id/runningTextView"
      android:layout_alignParentEnd="true" />

  <TextView
      android:id="@+id/runningTextView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Running"
      android:textSize="30sp"
      android:layout_below="@+id/badmintonTextView"
      android:layout_alignParentStart="true"
      android:layout_marginBottom="10dp"/>
  <RatingBar
      android:id="@+id/runningRatingBar"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@+id/badmintonRatingBar"
      android:layout_alignParentEnd="true" />

  <TextView
      android:id="@+id/swimmingTextView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Swimming"
      android:textSize="30sp"
      android:layout_below="@+id/runningTextView"
      android:layout_alignParentStart="true"
      android:layout_marginBottom="10dp"/>
  <RatingBar
      android:id="@+id/swimmingRatingBar"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@+id/runningRatingBar"
      android:layout_alignParentEnd="true" />


  <TextView
      android:id="@+id/golfTextView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Golf"
      android:textSize="30sp"
      android:layout_below="@+id/swimmingTextView"
      android:layout_alignParentStart="true"
      android:layout_marginBottom="10dp"/>
  <RatingBar
      android:id="@+id/golfRatingBar"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@+id/swimmingRatingBar"
      android:layout_alignParentEnd="true" />

  </RelativeLayout>



</RelativeLayout>

Image of current layout

3 个答案:

答案 0 :(得分:1)

以下是适合我的答案

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


    <TextView
        android:id="@+id/textView2"
        style="@style/Base.TextAppearance.AppCompat.Large"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:text="Select Sports" />

    <TextView
        android:id="@+id/textView6"
        style="@style/Base.TextAppearance.AppCompat.Large"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/ratingBar"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="17dp"
        android:layout_toLeftOf="@+id/ratingBar"
        android:layout_toStartOf="@+id/ratingBar"
        android:text="Football" />

    <RatingBar
        android:id="@+id/ratingBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/textView2" />

    <RatingBar
        android:id="@+id/ratingBar2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/ratingBar" />

    <RatingBar
        android:id="@+id/ratingBar3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/ratingBar2"
        android:layout_alignStart="@+id/ratingBar2"
        android:layout_below="@+id/ratingBar2" />

    <RatingBar
        android:id="@+id/ratingBar4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/ratingBar3"
        android:layout_alignStart="@+id/ratingBar3"
        android:layout_below="@+id/ratingBar3" />

    <TextView
        android:id="@+id/textView7"
        style="@style/Base.TextAppearance.AppCompat.Large"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/ratingBar3"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="17dp"
        android:layout_toLeftOf="@+id/textView2"
        android:text="Cycling" />

    <TextView
        android:id="@+id/textView8"
        style="@style/Base.TextAppearance.AppCompat.Large"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/ratingBar4"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="14dp"
        android:layout_toLeftOf="@+id/ratingBar3"
        android:text="Badminton" />

    <TextView
        android:id="@+id/textView9"
        style="@style/Base.TextAppearance.AppCompat.Large"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/ratingBar4"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="16dp"
        android:layout_toLeftOf="@+id/ratingBar4"
        android:text="Running" />
</RelativeLayout>]

final output

首先,您需要将评级栏添加到父布局,然后将textview添加到父布局

答案 1 :(得分:1)

试试这个

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimaryDark"
    tools:context="uk.co.neverendingsport.neverendingsport.LoginActivity">


    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="13dp"
        android:text="Continue" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:text="Select Sports"
        android:textSize="30sp"
        android:textStyle="bold" />


    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/textView4">

        <RelativeLayout
            android:id="@+id/relativeFootball"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/footballTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
               android:layout_centerVertical="true"
                android:text="Football"
                android:textSize="30sp" />

            <RatingBar
                android:id="@+id/footballRatingBar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_alignParentRight="true"
                />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/relativeCycle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/relativeFootball">

            <TextView
                android:id="@+id/cyclingTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:text="Cycling"
                android:textSize="30sp" />

            <RatingBar
                android:id="@+id/cyclingRatingBar"
                android:layout_width="wrap_content"
                android:layout_centerVertical="true"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/relativeBadminton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/relativeCycle">

            <TextView
                android:id="@+id/badmintonTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:text="Badminton"
                android:textSize="30sp" />

            <RatingBar
                android:id="@+id/badmintonRatingBar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_alignParentRight="true" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/relativeRunning"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/relativeBadminton">

            <TextView
                android:id="@+id/runningTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:text="Running"
                android:textSize="30sp" />

            <RatingBar
                android:id="@+id/runningRatingBar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_alignParentRight="true" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/relativeSwimming"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/relativeRunning">

            <TextView
                android:id="@+id/swimmingTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_alignParentLeft="true"
                android:text="Swimming"
                android:textSize="30sp" />

            <RatingBar
                android:id="@+id/swimmingRatingBar"
                android:layout_width="wrap_content"
                android:layout_centerVertical="true"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/relativeGolf"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/relativeSwimming">

            <TextView
                android:id="@+id/golfTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:text="Golf"
                android:textSize="30sp" />

            <RatingBar
                android:id="@+id/golfRatingBar"
                android:layout_width="wrap_content"
                android:layout_centerVertical="true"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true" />
        </RelativeLayout>


    </RelativeLayout>


</RelativeLayout>

答案 2 :(得分:1)

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimaryDark"
  >


    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Continue"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="13dp"
        android:id="@+id/button" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Select Sports"
        android:textSize="28sp"
        android:textStyle="bold"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />


     <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView4"
        android:orientation="vertical"
       >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"

            >

            <TextView
                android:id="@+id/footballTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Football"
                android:textSize="28sp"
                android:layout_weight="1"
                android:layout_above="@+id/cyclingRatingBar"
                />
            <RatingBar
                android:id="@+id/footballRatingBar"
                android:layout_width="wrap_content"

                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                />

        </LinearLayout>

     <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"


        >

        <TextView
            android:id="@+id/cyclingTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Cycling"
            android:textSize="28sp"
            android:layout_weight="1"
            android:layout_above="@+id/badmintonTextView"

            android:layout_marginBottom="10dp" />
        <RatingBar
            android:id="@+id/cyclingRatingBar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/footballRatingBar"
      />

        </LinearLayout>
     <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >

     <TextView
            android:id="@+id/badmintonTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Badminton"
            android:textSize="28sp"
            android:layout_below="@+id/cyclingRatingBar"
        android:layout_weight="1"
            android:layout_marginBottom="10dp"/>
        <RatingBar
            android:id="@+id/badmintonRatingBar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/runningTextView"
             />

        </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >

    <TextView
            android:id="@+id/runningTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Running"
            android:textSize="28sp"
        android:layout_weight="1"
            android:layout_below="@+id/badmintonTextView"

            android:layout_marginBottom="10dp"/>
        <RatingBar
            android:id="@+id/runningRatingBar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/badmintonRatingBar"
          />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >

    <TextView
            android:id="@+id/swimmingTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Swimming"
            android:textSize="28sp"
        android:layout_weight="1"
            android:layout_below="@+id/runningTextView"

            android:layout_marginBottom="10dp"/>
        <RatingBar
            android:id="@+id/swimmingRatingBar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/runningRatingBar"
         />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >


    <TextView
            android:id="@+id/golfTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Golf"
            android:textSize="28sp"
        android:layout_weight="1"
            android:layout_below="@+id/swimmingTextView"

            android:layout_marginBottom="10dp"/>
        <RatingBar
            android:id="@+id/golfRatingBar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/swimmingRatingBar"
          >
            </RatingBar>
    </LinearLayout>
    </LinearLayout>



   </RelativeLayout>
   </LinearLayout>