|
|
@@ -26,6 +26,7 @@ import com.itant.shibei.ui.home.GoodsFragment;
|
|
|
import com.itant.shibei.ui.home.HomeFragment;
|
|
|
import com.itant.shibei.ui.mine.MineActivity;
|
|
|
import com.itant.shibei.ui.mine.MineFragment;
|
|
|
+import com.itant.shibei.widget.AppbarTranslateListener;
|
|
|
import com.miekir.common.adapter.TabFragmentAdapter;
|
|
|
import com.miekir.common.utils.ViewTool;
|
|
|
import com.socks.library.KLog;
|
|
|
@@ -36,12 +37,6 @@ import java.util.List;
|
|
|
|
|
|
public class TabActivity extends BaseShiBeiActivity implements View.OnClickListener {
|
|
|
|
|
|
- private RelativeLayout rl_search;
|
|
|
- private RelativeLayout rl_search_top;
|
|
|
- private ImageView iv_search;
|
|
|
- private ImageView iv_search_top;
|
|
|
-
|
|
|
- private double mDefaultImageSize;
|
|
|
|
|
|
@Override
|
|
|
public int getLayoutID() {
|
|
|
@@ -67,48 +62,18 @@ public class TabActivity extends BaseShiBeiActivity implements View.OnClickListe
|
|
|
|
|
|
ViewTool.setOnClickListener(this, new int[]{R.id.rl_search_top, R.id.rl_more}, this);
|
|
|
|
|
|
- mDefaultImageSize = getResources().getDimension(R.dimen.size_image_s);
|
|
|
- rl_search = findViewById(R.id.rl_search);
|
|
|
- iv_search = findViewById(R.id.iv_search);
|
|
|
- rl_search_top = findViewById(R.id.rl_search_top);
|
|
|
- iv_search_top = findViewById(R.id.iv_search_top);
|
|
|
+ double mDefaultImageSize = getResources().getDimension(R.dimen.size_image_s);
|
|
|
+ View rl_search = findViewById(R.id.rl_search);
|
|
|
+ View iv_search = findViewById(R.id.iv_search);
|
|
|
+ View rl_search_top = findViewById(R.id.rl_search_top);
|
|
|
+ View iv_search_top = findViewById(R.id.iv_search_top);
|
|
|
+
|
|
|
AppBarLayout abl_main = findViewById(R.id.abl_main);
|
|
|
- abl_main.addOnOffsetChangedListener(mAppBarOffsetChangedListener);
|
|
|
+ AppbarTranslateListener listener = new AppbarTranslateListener(mDefaultImageSize,
|
|
|
+ rl_search_top, iv_search_top, rl_search, iv_search);
|
|
|
+ abl_main.addOnOffsetChangedListener(listener);
|
|
|
}
|
|
|
|
|
|
- private AppBarLayout.OnOffsetChangedListener mAppBarOffsetChangedListener = new AppBarLayout.OnOffsetChangedListener() {
|
|
|
- @Override
|
|
|
- public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
|
|
|
- // AppBarLayout完全折叠时,fraction为1
|
|
|
- float fraction = ((float) Math.abs(verticalOffset)) / appBarLayout.getTotalScrollRange();
|
|
|
-
|
|
|
- float reFraction = 1 - fraction;
|
|
|
- if (reFraction < 0.007) {
|
|
|
- // 完全折叠
|
|
|
- rl_search_top.setVisibility(View.GONE);
|
|
|
- rl_search.setVisibility(View.VISIBLE);
|
|
|
- } else if (reFraction > 0.988) {
|
|
|
- // 完全展开
|
|
|
- rl_search.setVisibility(View.GONE);
|
|
|
- rl_search_top.setVisibility(View.VISIBLE);
|
|
|
- } else {
|
|
|
- rl_search.setVisibility(View.VISIBLE);
|
|
|
- rl_search_top.setVisibility(View.VISIBLE);
|
|
|
- }
|
|
|
-
|
|
|
- double searchSize = mDefaultImageSize * fraction;
|
|
|
- ViewGroup.LayoutParams searchParams = iv_search.getLayoutParams();
|
|
|
- searchParams.width = (int) searchSize;
|
|
|
- searchParams.height = (int) searchSize;
|
|
|
- iv_search.requestLayout();
|
|
|
-
|
|
|
- double topSearchSize = mDefaultImageSize - searchSize;
|
|
|
- ViewGroup.LayoutParams topSearchParams = iv_search_top.getLayoutParams();
|
|
|
- topSearchParams.width = (int) topSearchSize;
|
|
|
- topSearchParams.height = (int) topSearchSize;
|
|
|
- iv_search_top.requestLayout();
|
|
|
- }
|
|
|
- };
|
|
|
|
|
|
|
|
|
@Override
|