android Titlebar一行程式碼實現沉浸式效果
阿新 • • 發佈:2019-01-05
一個簡單易用的導航欄TitleBar,可以輕鬆實現IOS導航欄的各種效果
整個程式碼全部集中在TitleBar.java中,所有控制元件都動態生成,動態佈局。不需要引用任何資原始檔,拷貝TitleBar.java到自己工程即可使用
1. 左邊文字,左邊返回圖片,左邊點選事件
左邊可設定圖片,文字單獨顯示,也可以設定圖片文字同時顯示
titleBar.setLeftImageResource(R.mipmap.back_green); titleBar.setLeftText("返回"); titleBar.setLeftTextColor(Color.WHITE); titleBar.setLeftClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } });
2. 中間文字
中間文字根據左右控制元件始終居中顯示,自動排版
titleBar.setTitle("文章詳情");
titleBar.setTitleColor(Color.WHITE);
3. 右邊action按鈕或者文字
通過addAction新增操作控制元件,通過removeAction刪除控制元件。可以使用圖片或者文字。
titleBar.setActionTextColor(Color.WHITE); mCollectView = (ImageView) titleBar.addAction(new TitleBar.ImageAction(R.mipmap.collect) { @Override public void performAction(View view) { Toast.makeText(MainActivity.this, "點選了收藏", Toast.LENGTH_SHORT).show(); mCollectView.setImageResource(R.mipmap.fabu); } }); titleBar.addAction(new TitleBar.TextAction("釋出") { @Override public void performAction(View view) { Toast.makeText(MainActivity.this, "點選了釋出", Toast.LENGTH_SHORT).show(); } });
4. 下劃分割線
titleBar.setDividerColor(Color.GRAY);
5. 一行程式碼適配沉浸式
如果你的專案使用了沉浸式,佈局時候加上這行程式碼,TitleBar會自動填充狀態列
titleBar.setImmersive(true);