我有一個活動的佈局文件:爲什麼我的ScrollView只有在不需要滾動時纔會過寬?
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/compose_message_view"
style="@style/Container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout style="@style/SectionContainer" >
<TextView
style="@style/FieldHeader"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawablePadding="8dp"
android:focusable="true"
android:focusableInTouchMode="true" />
<Spinner
android:id="@+id/compose_message_department"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="8dp"
android:prompt="@string/compose_message_department_prompt"
android:spinnerMode="dropdown" />
</LinearLayout>
<LinearLayout style="@style/SectionContainer" >
<TextView
style="@style/FieldHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="8dp"
android:text="@string/message_account_label" />
<Spinner
android:id="@+id/compose_message_account"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="8dp"
android:prompt="@string/compose_message_account_prompt"
android:spinnerMode="dropdown" />
</LinearLayout>
<EditText
android:id="@+id/compose_message_subject"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="32dp"
android:layout_marginTop="16dp"
android:hint="@string/compose_message_subject_hint"
android:inputType="textCapSentences" />
<EditText
android:id="@+id/compose_message_body"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/compose_message_body_hint"
android:inputType="textMultiLine|textCapSentences" />
</LinearLayout>
</ScrollView>
相關的風格是這樣的:
<style name="Container">
<item name="android:layout_marginRight">130dp</item>
<item name="android:layout_marginLeft">130dp</item>
<item name="android:paddingTop">32dp</item>
<item name="android:paddingLeft">32dp</item>
<item name="android:paddingRight">32dp</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
<item name="android:orientation">vertical</item>
</style>
<style name="SectionContainer">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:orientation">vertical</item>
<item name="android:paddingBottom">16dp</item>
</style>
<style name="FieldHeader" parent="android:Widget.TextView">
<item name="android:textAllCaps">true</item>
<item name="android:paddingLeft">12dp</item>
<item name="android:paddingTop">24dp</item>
<item name="android:paddingRight">12dp</item>
</style>
現在,當我在橫向打開一個的Nexus 7這項活動(沒試過其他平板電腦尚未),ScrollView及其內容超出了屏幕的右邊緣。當我在compose_message_body
EditText中輸入幾行以使UI延伸到屏幕底部以下時,UI的右邊緣進入它所屬的位置。見下面的截圖。
任何想法,這是怎麼回事?
你讓我在正確的軌道上,所以非常感謝你爲。爲了記錄,我最終刪除了容器的邊距,並向ScrollView添加了填充(等於刪除的邊距)。這讓我保持了整個屏幕的風格。我還需要向ScrollView添加'android:scrollbarStyle =「outsideInset」'以允許在內部LinearLayout之外滾動。 – Aaron