减少每次在xml布局写Toolbar(TitleBar)

每次写toolbar,虽然简单,感觉很烦,如图,所以写了一个父类,子类继承即可


用法


父类


核心代码

```

public abstract class BaseTitleActivity  extends BaseTitleActivity{

    private TextViewtvLeft;

    private TextViewtvTitle;

    private TextViewtvRight;

    private ImageViewivBack;

    private ImageViewivMore;

    private LinearLayoutllRoot;

    private ConstraintLayoutactionBar;

    @Override

    protected void onCreate(Bundle savedInstanceState){

      super.onCreate(savedInstanceState);

    }

public ViewinitContentView(String title, int layId){

View titleView = LayoutInflater.from(this).inflate(R.layout.common_desktop_title_bar_round, null);

        View contentView = LayoutInflater.from(this).inflate(layId, null, true);

        //这是设置宽和高

        LinearLayout.LayoutParams contentParams =new LinearLayout.LayoutParams

(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);

        LinearLayout.LayoutParams rightParams =new LinearLayout.LayoutParams

(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);

      /* contentView.setLayoutParams(contentParams);

contentView.setPadding(10, 10, 10, 10);

menuView.setLayoutParams(rightParams);*/

        LinearLayout linearLayout =new LinearLayout(mContext);

        linearLayout.setLayoutParams(contentParams);

        linearLayout.setOrientation(LinearLayout.VERTICAL);

        contentView.setLayoutParams(contentParams);

        linearLayout.addView(titleView);

        linearLayout.addView(contentView);

        initTitle(title, titleView);

        return linearLayout;

    }

private void initTitle(String title, View titleView)

{

actionBar = titleView.findViewById(R.id.actionBar);

        tvLeft = titleView.findViewById(R.id.tv_left);

        tvTitle = titleView.findViewById(R.id.tv_title);

        tvRight = titleView.findViewById(R.id.tv_right);

        ivBack = titleView.findViewById(R.id.toolbar_back);

        ivMore = titleView.findViewById(R.id.toolbar_more);

        llRoot = titleView.findViewById(R.id.ll_title_root);

        tvTitle.setText(title);

        initEvent();

    }

private void initEvent()

{

ivBack.setOnClickListener(this::onClick);

        tvLeft.setOnClickListener(this::onClick);

        ivMore.setOnClickListener(v ->

moreClickListener());

        tvRight.setOnClickListener(v ->

rightClickListener());

    }

protected void rightClickListener()

{

}

protected void moreClickListener()

{

}

public BaseTitleActivity222setTitleTxt(String title)

{

tvTitle.setText(title);

return this;

    }

public BaseTitleActivity222setRightTxt(String right)

{

tvRight.setText(right);

        showRightTxt(true);

return this;

    }

/**

    * 设置右边图标

    */

    public BaseTitleActivity222setRightDrawable(int resId)

{

ivMore.setImageResource(resId);

        showRightDrawable(true);

return this;

    }

public BaseTitleActivity222showRightTxt(boolean b)

{

if (b)

{

tvRight.setVisibility(View.VISIBLE);

        }

else

        {

tvRight.setVisibility(View.GONE);

        }

return this;

    }

public BaseTitleActivity222showRightDrawable(boolean b)

{

if (b)

{

ivMore.setVisibility(View.VISIBLE);

        }

else

        {

ivMore.setVisibility(View.GONE);

        }

return this;

    }

private void onClick(View v)

{

finish();

    }

```

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容