博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android——仿美团商品详情页折叠效果
阅读量:2084 次
发布时间:2019-04-29

本文共 3102 字,大约阅读时间需要 10 分钟。

首先看下效果图:

    
相信大家已经不陌生了,进入商品详情页,首先是左图的效果,当我们向上滑动的时候逐渐变化为右图的效果。使用知识点:MaterialDesign中的CoordinatoryLayout,ToolBarLayout,CollapsingToolBarLayout。

源码如下:

1、xml布局文件

2、Java文件

public class MeituanActivity extends AppCompatActivity {
private Toolbar toolbar; private AppBarLayout appBarLayout; private CollapsingToolbarLayout collapsingToolbarLayout; private LinearLayout normal; private TextView phoneBuy,title; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_meituan); toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onBackPressed(); } }); collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsingToolbarLayout); collapsingToolbarLayout.setTitle(""); normal = (LinearLayout) findViewById(R.id.normal); phoneBuy = (TextView) findViewById(R.id.phone_buy); title = (TextView) findViewById(R.id.title); appBarLayout = (AppBarLayout) findViewById(R.id.appBarLayout); appBarLayout.addOnOffsetChangedListener(new AppBarStateChangeListener(){ @Override public void onStateChanged(AppBarLayout appBarLayout, State state) { if (state == State.COLLAPSED){
//折叠 //collapsingToolbarLayout.setTitle("美味馄饨店"); title.setText("美味馄饨店"); normal.setVisibility(View.GONE); phoneBuy.setVisibility(View.VISIBLE); }else if (state == State.EXPANDED){
//展开 //collapsingToolbarLayout.setTitle(""); title.setText(""); normal.setVisibility(View.VISIBLE); phoneBuy.setVisibility(View.GONE); }else {
//中间态 //collapsingToolbarLayout.setTitle(""); title.setText(""); } } }); }}

知识点参考文章:

你可能感兴趣的文章