一個簡單易用的 Android 導航欄TitleBar

codeceo發表於2015-11-16

一個簡單易用的導航欄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);

相關文章