java折叠工具栏布局在滚动时不折叠
我使用的是折叠工具栏布局和viewpager。Viewpager由RecyclerView组成。但滚动“回收器”视图时,工具栏不会折叠
活动\回家。xml
<安卓.support.design.widget.AppBarLayout
安卓:layout_width="match_parent"
安卓:layout_height="wrap_content"
安卓:theme="@style/AppTheme.AppBarOverlay">
<安卓.support.design.widget.CollapsingToolbarLayout
安卓:id="@+id/collapsing_toolbar"
安卓:layout_width="match_parent"
安卓:layout_height="match_parent"
安卓:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
安卓:id="@+id/htab_header"
安卓:layout_width="match_parent"
安卓:layout_height="match_parent"
安卓:background="@drawable/header"
安卓:fitsSystemWindows="true"
安卓:scaleType="centerCrop"
app:layout_collapseMode="parallax" />
<安卓.support.v7.widget.Toolbar
安卓:id="@+id/htab_toolbar"
安卓:layout_width="match_parent"
安卓:layout_height="?attr/actionBarSize"
安卓:gravity="top"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:titleMarginTop="13dp" />
<安卓.support.design.widget.TabLayout
安卓:id="@+id/tabs"
安卓:layout_width="match_parent"
安卓:layout_height="?attr/actionBarSize"
安卓:layout_gravity="bottom"
app:tabMode="scrollable"/>
</安卓.support.design.widget.CollapsingToolbarLayout>
</安卓.support.design.widget.AppBarLayout>
<安卓.support.v4.view.ViewPager
安卓:id="@+id/viewpager"
安卓:layout_width="match_parent"
安卓:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<安卓.support.design.widget.FloatingActionButton
安卓:id="@+id/fab"
安卓:layout_width="wrap_content"
安卓:layout_height="wrap_content"
安卓:layout_gravity="bottom|end"
安卓:layout_margin="@dimen/fab_margin"
安卓:src="@安卓:drawable/ic_dialog_email" />
一个碎片。xml
<安卓.support.v7.widget.RecyclerView
xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
安卓:id="@+id/recyclerView"
安卓:layout_width="match_parent"
安卓:layout_height="wrap_content">
</安卓.support.v7.widget.RecyclerView>
家庭活动。java
import javax.swing.text.View;
public class HomeActivity extends AppCompatActivity {
private Toolbar toolbar;
private TabLayout tabLayout;
private ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.htab_toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action", null)
.show();
}
});
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
viewPager = (ViewPager) findViewById(R.id.viewpager);
setupViewPager(viewPager);
tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
final CollapsingToolbarLayout collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(
R.id.collapsing_toolbar);
collapsingToolbarLayout.setTitle("News");
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
String[] categories = getResources().getStringArray(R.array.categories);
for (String category : categories) {
OneFragment fragment = new OneFragment();
adapter.addFragment(fragment, category);
}
viewPager.setAdapter(adapter);
}
}
# 1 楼答案
把你的布局改成这个
如果有任何问题,请告诉我
# 2 楼答案
只需在工具栏中使用
app:layout_scrollFlags="scroll|enterAlways"
如果你也使用协调器布局,那么这是一个很好的实践