children 高度增加时 ScrollView 不滚动
ScrollView does not scroll when children increase in height
我有一个 ScrollView
可以容纳 2 个片段。底部片段有 2 EditText
个视图。当我在任一 EditText 中输入 multi-line 文本时,屏幕上视图的整体高度要求自然会增加。但是,屏幕会切断因 multi-line 文本输入而被推送的任何内容。 ScrollView 此时不滚动。
我已经在 SO 上尝试了一些建议的方法,比如不让 ScrollView 成为根视图或添加一个空视图作为滚动视图的最后一个孙视图,但 none 目前为止它们都有效。这是我的 XML:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ScrollView
android:layout_height="wrap_content"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:context=".MainActivity">
<fragment
android:id="@+id/fragment1"
android:name="com.example.omar.memegenerator.TopImageFragment"
android:layout_width="match_parent"
android:layout_height="400dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="18dp"
android:layout_marginBottom="18dp"
tools:layout="@layout/fragment_top_image" />
<fragment
android:id="@+id/fragment2"
android:name="com.example.omar.memegenerator.BottomControlsFragment"
android:layout_width="match_parent"
android:layout_height="134dp"
android:layout_below="@+id/fragment1"
android:layout_alignParentBottom="true"
android:layout_marginBottom="34dp"
tools:layout="@layout/fragment_bottom_controls" />
</RelativeLayout>
</ScrollView>
</LinearLayout>
改为将其用于您的布局层次结构。我省略了一些属性,但包含的属性是实现此功能的关键。
<ScrollView
android:layout_height="match_parent"
android:layout_width="match_parent">
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="vertical">
<fragment
android:id="@+id/fragment1"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<fragment
android:id="@+id/fragment2"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</ScrollView>
我有一个 ScrollView
可以容纳 2 个片段。底部片段有 2 EditText
个视图。当我在任一 EditText 中输入 multi-line 文本时,屏幕上视图的整体高度要求自然会增加。但是,屏幕会切断因 multi-line 文本输入而被推送的任何内容。 ScrollView 此时不滚动。
我已经在 SO 上尝试了一些建议的方法,比如不让 ScrollView 成为根视图或添加一个空视图作为滚动视图的最后一个孙视图,但 none 目前为止它们都有效。这是我的 XML:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ScrollView
android:layout_height="wrap_content"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:context=".MainActivity">
<fragment
android:id="@+id/fragment1"
android:name="com.example.omar.memegenerator.TopImageFragment"
android:layout_width="match_parent"
android:layout_height="400dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="18dp"
android:layout_marginBottom="18dp"
tools:layout="@layout/fragment_top_image" />
<fragment
android:id="@+id/fragment2"
android:name="com.example.omar.memegenerator.BottomControlsFragment"
android:layout_width="match_parent"
android:layout_height="134dp"
android:layout_below="@+id/fragment1"
android:layout_alignParentBottom="true"
android:layout_marginBottom="34dp"
tools:layout="@layout/fragment_bottom_controls" />
</RelativeLayout>
</ScrollView>
</LinearLayout>
改为将其用于您的布局层次结构。我省略了一些属性,但包含的属性是实现此功能的关键。
<ScrollView
android:layout_height="match_parent"
android:layout_width="match_parent">
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="vertical">
<fragment
android:id="@+id/fragment1"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<fragment
android:id="@+id/fragment2"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</ScrollView>