标题栏系列:自定义沉浸式标题栏

先看设计图要求(涉及到隐私或者版权的打个马赛克):
标题栏系列:自定义沉浸式标题栏_第1张图片

  • 隐藏标题栏,设置theme:
 android:theme="@style/Theme.AppCompat.Light.NoActionBar"
  • 引入Android轮子哥的github库getActivity/TitleBar:
allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' } //加这行
    }
}

添加依赖:

    implementation 'com.github.getActivity:TitleBar:8.6'
  • 引入ImmersionBar库,添加依赖步骤参考:状态栏系列:ImmersionBar实现状态栏沉浸效果
  • 布局核心代码如下,图片自己找个哈!
    

activity_main.xml完整布局代码:




    


  • MainActivity.java完整代码,如下:
public class MainActivity extends AppCompatActivity {
    TitleBar titleBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        titleBar = findViewById(R.id.titlebar);
        ImmersionBar.with(this).titleBar(titleBar).statusBarColor(R.color.white).statusBarDarkFont(true).init();
        titleBar.setTitle("单词跟读 3/20");
     //点击事件
        titleBar.setOnTitleBarListener(new OnTitleBarListener() {
            @Override
            public void onLeftClick(View view) {
                Log.i(TAG, "onLeftClick: ");
            }

            @Override
            public void onTitleClick(View view) {
                Log.i(TAG, "onTitleClick: ");
            }

            @Override
            public void onRightClick(View view) {
                Log.i(TAG, "onRightClick: ");
            }
        });
    }
}

跑起来,看先效果:
标题栏系列:自定义沉浸式标题栏_第2张图片

biu 特否!!

你可能感兴趣的:(Android技术积累)