我有一个活动,在nestedScrollView内的线性布局中包含viewPager,在viewPager内以及每个recyclerView中有3个片段 问题是viewPager不占用片段的宽度,所以当我滚动recyclerView时,滚动良好,但在活动的特定部分 我不知道如何正确描述此问题,但是我将插入一些图像和代码来显示问题
1-滚动前
3-在viewPager中的片段中滚动
所以我想要当我滚动选项卡时将util达到滚动到工具栏之后 我已经尝试了很多解决方案,但是没有用
这是 parentActivity.xml
<?xml version="1.0" encoding="utf-8"?>
<data>
<variable
name="presenter"
type="qatar2022.com.ramiissa.components.Profile.FriendProfile.Root.FriendProfilePresenter" />
</data>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/friend_profile_refresh_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:fillViewport="true"
android:background="@android:color/white">
<android.support.design.widget.AppBarLayout
android:id="@+id/friend_profile_app_bar_layout"
android:layout_width="match_parent"
android:layout_height="250dp"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/friend_profile_collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleTextAppearance="@style/TextAppearance.AppCompat.Title"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:titleEnabled="false">
<ImageView
android:id="@+id/friend_profile_cover"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
android:src="@drawable/cover"
app:layout_collapseMode="parallax" />
<android.support.v7.widget.Toolbar
android:id="@+id/friend_profile_tool_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:contentInsetStartWithNavigation="0dp"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/friend_profile_nested_scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:fillViewport="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:id="@+id/friend_profile_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="60dp"
android:text="Martha Harris"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Title"
android:textColor="@color/grey_90" />
<TextView
android:id="@+id/friend_profile_user_friend_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/spacing_large"
android:layout_marginTop="@dimen/spacing_large"
android:layout_marginRight="@dimen/spacing_large"
android:gravity="center"
android:text="5000 Friends"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Subhead"
android:textColor="@color/grey_60" />
<TextView
android:id="@+id/friend_profile_user_some_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/spacing_large"
android:layout_marginTop="@dimen/spacing_large"
android:layout_marginRight="@dimen/spacing_large"
android:gravity="center"
android:text="Some info"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Subhead"
android:textColor="@color/black" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_large"
android:orientation="horizontal">
<Button
android:id="@+id/friend_profile_user_message_button"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
android:background="@drawable/btn_rounded_primary"
android:drawableStart="@drawable/message"
android:drawableTint="@color/white"
android:paddingStart="20dp"
android:paddingEnd="15dp"
android:text="MESSAGE"
android:textColor="@color/white" />
<Button
android:id="@+id/friend_profile_friend_button"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:background="@drawable/btn_rounded_blue_gray"
android:drawableStart="@drawable/friend"
android:drawableTint="@color/white"
android:paddingStart="20dp"
android:paddingEnd="15dp"
android:text="ADD FRIEND"
android:textColor="@color/white" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_gravity="center_vertical"
app:srcCompat="@drawable/flag_icon" />
<TextView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:text="@string/profile_nationality"
android:textSize="@dimen/profile_bottom_info_text_size" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"
android:textSize="@dimen/profile_bottom_info_text_size" />
<TextView
android:id="@+id/friend_profile_nationality_value_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginEnd="10dp"
android:ellipsize="end"
android:maxLines="1"
android:text="Syria"
android:textSize="@dimen/profile_bottom_info_text_size" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_gravity="center_vertical"
app:srcCompat="@drawable/birthday_icon" />
<TextView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:text="@string/profile_birthday"
android:textSize="@dimen/profile_bottom_info_text_size" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"
android:textSize="@dimen/profile_bottom_info_text_size" />
<TextView
android:id="@+id/friend_profile_birthday_value_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginEnd="10dp"
android:ellipsize="end"
android:maxLines="1"
android:text="10-NOVEMBER"
android:textSize="@dimen/profile_bottom_info_text_size" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_gravity="center_vertical"
app:srcCompat="@drawable/relationship_icon" />
<TextView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:text="@string/profile_relationship"
android:textSize="@dimen/profile_bottom_info_text_size" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"
android:textSize="@dimen/profile_bottom_info_text_size" />
<TextView
android:id="@+id/friend_profile_relationship_value_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginEnd="10dp"
android:ellipsize="end"
android:maxLines="1"
android:text="Single"
android:textSize="@dimen/profile_bottom_info_text_size" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_gravity="center_vertical"
app:srcCompat="@drawable/work_icon" />
<TextView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:text="@string/profile_working"
android:textSize="@dimen/profile_bottom_info_text_size" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"
android:textSize="@dimen/profile_bottom_info_text_size" />
<TextView
android:id="@+id/friend_profile_work_value_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginEnd="10dp"
android:ellipsize="end"
android:maxLines="1"
android:text="Android Developer"
android:textSize="@dimen/profile_bottom_info_text_size" />
</LinearLayout>
<android.support.design.widget.TabLayout
android:id="@+id/friend_profile_tab_layout"
style="@style/ProfileTabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:background="@color/grey_300"
android:clipToPadding="false"
android:visibility="visible"
app:tabGravity="fill"
app:tabMode="fixed"
app:tabSelectedTextColor="@color/white"
app:tabTextColor="@color/pale_white" />
<android.support.v4.view.ViewPager
android:id="@+id/friend_profile_view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/friend_profile_user_photo"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/example"
app:civ_border_color="@color/white"
app:civ_border_width="1dp"
app:layout_anchor="@+id/friend_profile_app_bar_layout"
app:layout_anchorGravity="bottom|center" />
</android.support.design.widget.CoordinatorLayout>
</android.support.v4.widget.SwipeRefreshLayout>
答案 0 :(得分:0)
你能检验我的建议吗?请将TabLayout和ViewPager放在NestedScrollView的外部,并在每个片段布局的内部使用NestedScrollView作为父布局。
在主布局中:
<AppBarLayout>
<CollapsingToolbarLayout android:fitsSystemWindows="true">
<include layout="include_header" />
<Toolbar />
</CollapsingToolbarLayout>
</AppBarLayout>
<ViewPager />
在include_header部分中:
<FrameLayout android:fitsSystemWindows="true">
<ConstraintLayout />
</FrameLayout>
我在约束布局中使用比率作为背景图像标题: app:layout_constraintDimensionRatio =“ H,4:3”
这是我的设计,很完美。我有一些喜欢您的设计,但我决定改变方式以获得更好的效果。