Tablayout吸顶效果,背景高斯模糊

注意事项

CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout联合一起使用时,有一些注意点:

CoordinatorLayout作为布局的父布局容器。

AppBarLayout中给需要滑动的组件设置 app:layout_scrollFlags属性。

CoordinatorLayout中给滑动的组件设置app:layout_behavior属性

AppBarLayout的高度固定,不能用match_parent,使用wrap_content时子view必须设置固定高度

CollapsingToolbarLayout的子视图设置layout_collapseMode属性

关联悬浮视图设置app:layout_anchor,app:layout_anchorGravity属性

根据百分比去获取ARGB (透明度,红色,绿色,蓝色)颜色值:

/** 根据百分比改变颜色透明度 */

    public int changeAlpha(int color, float fraction) {

        int red = Color.red(color);

        int green = Color.green(color);

        int blue = Color.blue(color);

        int alpha = (int) (Color.alpha(color) * fraction);

        return Color.argb(alpha, red, green, blue);

    }

监听AppBarLayout的滚动变化OnOffsetChangedListener来改变Toolbar的背景透明度颜色:

mAppBarLayout= (AppBarLayout) view.findViewById(R.id.AppFragment_AppBarLayout);

mAppBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {

@Override

public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) { 

    mToolbar.setBackgroundColor(changeAlpha(getResources().getColor(R.color.colorPrimary),Math.abs(verticalOffset*1.0f)/appBarLayout.getTotalScrollRange()));

            }

        });

布局代码:

Tablayout吸顶效果,背景高斯模糊_第1张图片
Tablayout吸顶效果,背景高斯模糊_第2张图片
Tablayout吸顶效果,背景高斯模糊_第3张图片
Tablayout吸顶效果,背景高斯模糊_第4张图片
Tablayout吸顶效果,背景高斯模糊_第5张图片

你可能感兴趣的:(Tablayout吸顶效果,背景高斯模糊)