I have a problem with PreferenceFragment and CollapsingToolbarLayout. I have a base layout:
<android.support.design.widget.CoordinatorLayout 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:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activities.base.BaseActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbarLayout"
android:layout_width="match_parent"
android:layout_height="@dimen/nav_header_height"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/ctlLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"></android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:nestedScrollingEnabled="true"/>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fabFav"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="85dp"
android:src="@android:drawable/ic_menu_save"
app:layout_anchor="@id/appbarLayout"
app:layout_anchorGravity="bottom|right|end"
android:visibility="gone" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fabShare"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/fab_margin"
android:src="@android:drawable/ic_menu_share"
app:borderWidth="0dp"
app:layout_anchor="@id/appbarLayout"
app:layout_anchorGravity="bottom|right|end"
android:visibility="gone" />
<fragment
android:id="@+id/search_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.eventum.raedictionary.fragments.SearchFragment"
tools:layout="@layout/fragment_search"/>
The problem is when I inflate the Framelayout with a PreferenceFragment the scroll doesn't work but with a normal Fragment works properly.
BaseSettingFragment settingsFragment = new BaseSettingFragment();
fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.setCustomAnimations(R.transition.fade_in, R.transition.fade_out);
fragmentTransaction.replace(R.id.fragment_container, settingsFragment);
fragmentTransaction.commit();
I haven't found any solutions for this problem, can anyone help me?
Thank you in advance.
PD: Sorry for my English.
PreferenceFragment
is based on ListView
, which does not support the nested scrolling APIs required for CollapsingToolbarLayout
. You can instead use the Preference Support Library and PreferenceFragmentCompat, which is based on RecyclerView
and does support the nested scrolling APIs required.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With