Круговые зависимости не могут существовать в RelativeLayout, Android?

У меня есть следующий макет: мне нужно держать кнопку внизу экрана, и она должна быть видимой пользователю. Остальная часть макета должна прокручиваться.

<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="com.vfc.sargroup.SalesOrderActivity$PlaceholderFragment" > <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/bottomLinearLayout" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Select Distributor Name" android:textAppearance="?android:attr/textAppearanceMedium" /> <Spinner android:id="@+id/spinner1" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Payment Collection" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" > </EditText> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Product Category" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" > <requestFocus /> </EditText> <TableLayout android:id="@+id/salesTableLayout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:stretchColumns="*" > </TableLayout> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Total QTY" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" > <requestFocus /> </EditText> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Total Price" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" > <requestFocus /> </EditText> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Remark" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" > </EditText> </LinearLayout> </ScrollView> <LinearLayout android:id="@+id/bottomLinearLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_below="@+id/scrollView1" android:layout_centerHorizontal="true" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Submit" /> </LinearLayout> </RelativeLayout> 

Мне просто нужно прокрутить мой взгляд и оставить кнопку на экране внизу.

Проблема заключается в

  android:layout_above="@+id/bottomLinearLayout" 

Я получаю ошибку

  Circular dependencies cannot exist in RelativeLayout 

Что не так с моим макетом?

Проблема вызвана тем, что в параметрах макета имеется круговая ссылка.

Например, когда вид B представляет собой layout_below view A, вид A не может ссылаться на вид B больше в нем ниже, alignRight и т. Д. Это также может существовать между несколькими видами: ссылки B ссылок C. В этом сценарии C не может ссылаться на A Из-за круговой зависимости.

Ты использовал :-

BottomLinearLayout ниже scrollView1 И тогда вы сказали, что scrollView1 находится выше bottomLinearLayout

Он не работает так. Используйте один

Вы не можете сказать, что bottomLinearLayout находится ниже scrollView1, а затем скажем, что scrollView1 находится выше bottomLinearLayout. Делайте только один, не оба.

Это круговой, потому что он попытается позиционировать себя после того, как выяснит, где находится другой, который находится на первом.

Добавьте android:layout_alignParentTop="true" в вашем scrollView и удалите android:layout_below="@+id/scrollView1" в нижней частиLinearLayout.

Включите просмотр прокрутки в Relative Layout.

Структура будет:

 <RelativeLayout ...... .... .....> <RelativeLayout ..... ..... .....> <ScrollView .... ... ...> put your staff here </ScrollView> </RelativeLayout> <RelativeLayout .... .... below the above relative layout ...../> <Button .... .... ..../> </RelativeLayout> </RelativeLayout>