次のレイアウトがあります:ボタンを画面の下部に保持する必要があり、ユーザーに表示されるはずです。レイアウトの残りの部分はスクロールするはずです。
<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ビューAである場合、ビューAは、その下にあるビューB、alignRightなどを参照できなくなります。これは、複数のビュー間に存在することもあります。循環依存のため。
使いました :-
bottomLinearLayoutはscrollView1の下にあります。そして、scrollView1はbottomLinearLayoutの上にあると言いました。
それはそのように機能しません。使用する
BottomLinearLayoutがscrollView1の下にあると言ってから、scrollView1がbottomLinearLayoutの上にあると言うことはできません。両方ではなく、1つだけを行います。
これは、他の1つがどこにあるのかを把握した後に自分自身を配置しようとするため、循環的です...最初の1つを待っています。
ScrollViewでAndroid:layout_alignParentTop="true"
を追加し、bottomLinearLayoutでAndroid:layout_below="@+id/scrollView1"
を削除します。