Android CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout实现浮动导航栏效果


CoordinatorLayout

Android CoordinatorLayout+RecyclerView Demo

Android CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout实现浮动导航栏效果


git地址:

https://gitee.com/olleh/MyCoordinate.git


所有的操作基本上都在xml中完成,包括颜色的改变,圆角的沉浸式,滑动距离等。

Android CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout实现浮动导航栏效果_第1张图片


activity_main.xml





    

        

    


    
    

        
        
        
        

            
            
            
            

        


        
        
        

            

            

            

            

            

            

            
        
    


bg_home_xtab.xml




    

    


MainActivity.java

package com.example.mycoordinate;

import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.google.android.material.appbar.AppBarLayout;
import com.google.android.material.tabs.TabLayout;
import com.youth.banner.Banner;
import com.youth.banner.listener.OnBannerListener;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private TextView textView;
    private AppBarLayout appbar;
    private TabLayout tabs;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        initTextView();
        initTabs();
        initBanner();
    }

    private void initView() {
        textView = (TextView) findViewById(R.id.textView);
        appbar = (AppBarLayout) findViewById(R.id.appbar);
        tabs = (TabLayout) findViewById(R.id.tabs);
    }

    private void initBanner() {
        List images = new ArrayList();
        images.add("http://image14.m1905.cn/uploadfile/2018/0907/thumb_1_1380_460_20180907013518839623.jpg");
        images.add("http://image14.m1905.cn/uploadfile/2018/0906/thumb_1_1380_460_20180906040153529630.jpg");
        images.add("http://image13.m1905.cn/uploadfile/2018/0907/thumb_1_1380_460_20180907114844929630.jpg");


        Banner banner = (Banner) findViewById(R.id.banner);
        //设置图片加载器
        banner.setImageLoader(new GlideImageLoader());
        //设置图片集合
        banner.setImages(images);
        //banner设置方法全部调用完毕时最后调用
        banner.start();

        //增加点击事件
        banner.setOnBannerListener(new OnBannerListener() {
            @Override
            public void OnBannerClick(int position) {
                Toast.makeText(MainActivity.this, "position"+position, Toast.LENGTH_SHORT).show();
            }
        });
    }

    private void initTabs() {
        /**
         * tabs的点击回调
         */
        tabs.addOnTabSelectedListener(new TabLayout.BaseOnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                Toast.makeText(MainActivity.this, "tab=" + tab.getText(), Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {

            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {

            }
        });
    }

    private void initTextView() {
        /**
         * 初始化TextView
         */
        String text = "";
        for (int i = 0; i < 100; i++) {
            text += i + "\n";
        }
        textView.setText(text);
    }

}

你可能感兴趣的:(Android基础)