package com.example.fragment;
import android.os.Bundle;
import android.support.design.widget.AppBarLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewCompat;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.example.R;
public class OverlapFragment extends Fragment implements AppBarLayout.OnOffsetChangedListener
{
private static final int PERCENTAGE_TO_SHOW_IMAGE = 20;
private View mRootView;
private View mFab;
private int mMaxScrollSize;
private boolean mIsImageHidden;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
mRootView = inflater.inflate(R.layout.fragment_overlap, container, false);
return mRootView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
setupAppBar();
}
@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int i)
{
if(mMaxScrollSize == 0) mMaxScrollSize = appBarLayout.getTotalScrollRange();
int currentScrollPercentage = (Math.abs(i)) * 100 / mMaxScrollSize;
if(currentScrollPercentage >= PERCENTAGE_TO_SHOW_IMAGE)
{
if(!mIsImageHidden)
{
mIsImageHidden = true;
ViewCompat.animate(mFab).scaleY(0).scaleX(0).start();
}
}
if(currentScrollPercentage < PERCENTAGE_TO_SHOW_IMAGE)
{
if(mIsImageHidden)
{
mIsImageHidden = false;
ViewCompat.animate(mFab).scaleY(1).scaleX(1).start();
}
}
}
private void setupAppBar()
{
// appbar
AppBarLayout appBar = (AppBarLayout) mRootView.findViewById(R.id.appbar);
appBar.addOnOffsetChangedListener(this);
// toolbar
Toolbar toolbar = (Toolbar) mRootView.findViewById(R.id.toolbar);
toolbar.setNavigationOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO
}
});
// fab
mFab = mRootView.findViewById(R.id.fab);
}
}