我正在使用ViewPager
来显示4个不同的片段。
我活动的组件树:
|_FrameLayout
|_ LinearLayout (Vertical)
Toolbar
ViewPager
TabLayout
RelativeLayout
这是我的第一个片段的组件树:
ScrollView
|_LinearLayout(Vertical)
LinearLayout(Horizontal)
|_LinearLayout(Horizontal)
|_CardView
TextView
LinearLayout(Horizontal)
LinearLayout(Horizontal)
但是当设备处于纵向模式时,Fragment
内的Viewpager
不会滚动。在横向模式下,它会滚动一点(因此滚动工作),但cardview
内的视图会缩小。 CardView
是否负责所有这些(因为它是可滚动的)?如何解决这个问题?请帮忙。
答案 0 :(得分:1)
您应该使用NestedScrollView替换ScrollView,以帮助您进行嵌套滚动
答案 1 :(得分:1)
在滚动视图中同时包裹viewpager.xml和fragment.xml,如下所示:
viewpager.xml
{
user.id &&
<img className="img-responsive" src={`${API_URL}/${imageLocation}`} />
}
fragment.xml
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id="@+id/view_pager_id"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>
</RelativeLayout>
</ScrollView>
activity.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<!-- Along with other widgets -->
</android.support.constraint.ConstraintLayout>
</ScrollView>