每次写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();
}
```