CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout实现折叠式ToolBar

先看效果图:

当界面开始滑动时,“用户名用户名”文字便会缩小折叠到ToolBar上。
要实现这个效果,需要用到以下几个控件:CoordinatorLayout、AppBarLayout、CollapsingToolbarLayout+Toolbar+RecyclerView

布局文件代码如下:



    

        

            

                

                

                

Java代码:

public class PersonalHomepageActivity extends AppCompatActivity {

    private RecyclerView recycleview;
    private Toolbar toolbar;
    private ImageView imageView;
    private CollapsingToolbarLayout collapsingToolbarLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_personal_homepage);


        toolbar = findViewById(R.id.toolbar);
        collapsingToolbarLayout  = findViewById(R.id.collapsing_toolbar_layout);
        recycleview = findViewById(R.id.recycleview);
        imageView = findViewById(R.id.imageView);

        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);  //在toolbar左侧添加一个默认的返回图标
        getSupportActionBar().setHomeButtonEnabled(true);   //设置返回键可用

        collapsingToolbarLayout.setTitle("用户名用户名");		//设置toolbar文字
        collapsingToolbarLayout.setCollapsedTitleTextColor(Color.BLACK);		//设置折叠后的文字颜色
        collapsingToolbarLayout.setExpandedTitleColor(Color.BLACK);			//设置未折叠的文字颜色

        recycleview.setLayoutManager(new LinearLayoutManager(this));
        recycleview.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL));  //添加默认的分割线
        mRecycleViewAdapter adapter = new mRecycleViewAdapter(this);
        recycleview.setAdapter(adapter);
   	 }
    
    //返回键监听
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == android.R.id.home){
            finish();
        }
        return super.onOptionsItemSelected(item);

    }
}

你可能感兴趣的:(Android)