スクロールビュー内に相対レイアウトがあり、それを機能させることができません。相対レイアウトの高さをwrap_contentに設定しようとしましたが、それも機能しません。線形レイアウトで動作させることはできますが、何らかの理由で使用したくありません。
これが私のxmlです:
<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:fillViewport="true">
<RelativeLayout
Android:id="@+id/container"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:background="#FFFFFF"
Android:orientation="vertical"
Android:padding="14dp">
<EditText
Android:layout_width="match_parent"
Android:layout_height="48dp"
Android:inputType="textPersonName"
Android:id="@id/feedback_name"
Android:hint="Name"
Android:textColor="#000000"
Android:layout_alignParentTop="true"
Android:ems="10"
Android:maxHeight="48dp"
Android:textSize="14sp" />
<EditText
Android:layout_width="match_parent"
Android:layout_height="48dp"
Android:inputType="textEmailAddress"
Android:ems="10"
Android:maxHeight="48dp"
Android:id="@id/feedback_email"
Android:hint="Your email (optional)"
Android:textColor="#000000"
Android:layout_below="@id/feedback_name"
Android:textSize="14sp" />
<Spinner
Android:id="@id/feedback_concern"
Android:layout_width="match_parent"
Android:layout_height="48dp"
Android:minHeight="48dp"
Android:layout_below="@id/feedback_email" />
<EditText
Android:layout_width="match_parent"
Android:layout_height="0dp"
Android:inputType="textMultiLine"
Android:ems="10"
Android:id="@id/feedback_message"
Android:hint="Message"
Android:textColor="#000000"
Android:layout_weight="1"
Android:minHeight="70dp"
Android:gravity="top"
Android:textSize="14sp"
Android:layout_below="@id/feedback_concern"
Android:layout_above="@id/feedback_send"
/>
<Button
Android:layout_width="match_parent"
Android:layout_height="48dp"
Android:text="Send"
Android:maxHeight="48dp"
Android:id="@id/feedback_send"
Android:background="@color/light"
Android:textColor="#FFFFFF"
Android:layout_alignParentBottom="true"
Android:layout_alignParentLeft="true"
Android:layout_alignParentStart="true" />
<ProgressBar
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/progressBar"
Android:visibility="invisible"
Android:layout_gravity="center_horizontal"
Android:layout_alignParentBottom="true"
Android:layout_centerHorizontal="true" />
<TextView
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:textAppearance="?android:attr/textAppearanceMedium"
Android:text="error"
Android:fontFamily="sans-serif-light"
Android:id="@id/errorText"
Android:visibility="invisible"
Android:layout_gravity="center_horizontal"
Android:textColor="@Android:color/black"
Android:layout_below="@id/feedback_message"
Android:layout_centerHorizontal="true"
Android:layout_alignParentBottom="true"
Android:gravity="center"
Android:singleLine="true" />
</RelativeLayout>
</ScrollView>
肖像画:
風景:
横向きモードにすると、メッセージの編集テキストが消え、レイアウトがスクロールしないことがわかります。
上からスクロールビューをメッセージ編集テキストに適用します。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:background="#FFFFFF"
Android:orientation="vertical"
Android:padding="14dp" >
<ScrollView
Android:id="@+id/scroll"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:layout_above="@+id/feedback_send"
Android:fillViewport="true" >
<RelativeLayout
Android:id="@+id/container"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content" >
<EditText
Android:id="@+id/feedback_name"
Android:layout_width="fill_parent"
Android:layout_height="48dp"
Android:layout_alignParentTop="true"
Android:ems="10"
Android:hint="Name"
Android:inputType="textPersonName"
Android:maxHeight="48dp"
Android:textColor="#000000"
Android:textSize="14sp" />
<EditText
Android:id="@+id/feedback_email"
Android:layout_width="fill_parent"
Android:layout_height="48dp"
Android:layout_below="@id/feedback_name"
Android:ems="10"
Android:hint="Your email (optional)"
Android:inputType="textEmailAddress"
Android:maxHeight="48dp"
Android:textColor="#000000"
Android:textSize="14sp" />
<Spinner
Android:id="@+id/feedback_concern"
Android:layout_width="fill_parent"
Android:layout_height="48dp"
Android:layout_below="@id/feedback_email"
Android:minHeight="48dp" />
<EditText
Android:id="@+id/feedback_message"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_below="@id/feedback_concern"
Android:ems="10"
Android:gravity="top"
Android:hint="Message"
Android:inputType="textMultiLine"
Android:minHeight="70dp"
Android:textColor="#000000"
Android:textSize="14sp" />
</RelativeLayout>
</ScrollView>
<Button
Android:id="@id/feedback_send"
Android:layout_width="fill_parent"
Android:layout_height="48dp"
Android:layout_alignParentBottom="true"
Android:layout_alignParentLeft="true"
Android:background="@Android:color/background_dark"
Android:maxHeight="48dp"
Android:text="Send"
Android:textColor="#FFFFFF" />
<ProgressBar
Android:id="@+id/progressBar"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentBottom="true"
Android:layout_centerHorizontal="true"
Android:layout_gravity="center_horizontal"
Android:visibility="invisible" />
<TextView
Android:id="@+id/errorText"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_alignParentBottom="true"
Android:layout_below="@+id/scroll"
Android:layout_centerHorizontal="true"
Android:layout_gravity="center_horizontal"
Android:gravity="center"
Android:singleLine="true"
Android:text="error"
Android:textAppearance="?android:attr/textAppearanceMedium"
Android:textColor="@Android:color/black"
Android:visibility="invisible" />
</RelativeLayout>
これを下げるには、以下を使用します。
<ScrollView
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:fillViewport="true">
<RelativeLayout
Android:id="@+id/container"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:orientation="vertical">
(all your view elements)
</RelativeLayout>
</ScrollView>
Tweeksの追加レイアウトは必要ありません。 :-)