我是android的新手,并且想为以下情况找到解决方案: 我实现了称为profile的片段,其中包含折叠的工具栏和TabLayout。每当我单击当前片段的任何按钮时,都会相应地将下一页显示为新片段。下一个片段具有自己的工具栏。
问题:每当我滚动内容时,前面的片段“折叠工具栏”就会显示在顶部。它与当前片段重叠。
我已经尝试过使用Framelayout和“ fitSystemWindows = true”的解决方案。我尝试过的另一种解决方案是为下一个片段提供“ clickable = true”。他们都没有帮助我。我在哪里弄错了?
这是我的代码概述:
ProfileFragment是从具有底部导航视图的MainActivity加载的。
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_profile:
ProfileFragment f5=new ProfileFragment();
FragmentTransaction ft5= getSupportFragmentManager().beginTransaction();
ft5.replace(R.id.fragment_container,f5,"");
ft5.commit();
return true;
}
return false;
}
};
activity_main.xml
<LinearLayout
android:id="@+id/container"
tools:context="com.work.workapp.MainActivity">
<FrameLayout
android:id="@+id/fragment_container">
</FrameLayout>
<android.support.design.widget.BottomNavigationView/>
</LinearLayout>
profile_fragment.xml
<android.support.design.widget.CoordinatorLayout
android:id="@+id/profile_main">
<android.support.design.widget.AppBarLayout
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:fitsSystemWindows="true"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<LinearLayout
android:fitsSystemWindows="true"
app:layout_collapseMode="parallax">
<ImageView/>
<TextView/>
</LinearLayout>
<android.support.v7.widget.Toolbar>
<RelativeLayout>
<!-- Settings Button -->
<!-- Edit Button -->
</RelativeLayout>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
<android.support.design.widget.TabLayout/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<FrameLayout
android:id="@+id/container_profile"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</android.support.design.widget.CoordinatorLayout>
profile-toolbar collapse toolbar - Tab post
tab_post和tab_work适配器文件:
/* Button click event from post Tab of tablayout*/
myViewHolder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
RequestsFragment req_list = new RequestsFragment();
FragmentTransaction ft = ((FragmentActivity)mContext).getSupportFragmentManager().beginTransaction();
ft.replace(R.id.container_profile, req_list, "");
ft.addToBackStack(null).commit();
}
});
单击“发布”选项卡上的“ 5”-按钮时,将显示以下片段: Button click on Post tab
在上方片段上滚动时,先前片段的折叠工具栏将出现在新片段上: content and toolbar overlaps
没有错误消息出现。应用已成功运行。我要删除此重叠。