1.BaseActivity
public class BaseActivity extends AppCompatActivity{
private LayoutInflater inflater;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
inflater=LayoutInflater.from(this);
}
@Override
public void setContentView(@LayoutRes int layoutResID) {
super.setContentView(layoutResID);
if(hasToolBar()){
super.setContentView(R.layout.base);
FrameLayout frameLayout= (FrameLayout) findViewById(R.id.container);
inflater.inflate(layoutResID,frameLayout,true);
}else{
super.setContentView(layoutResID);
}
}
protected boolean hasToolBar(){
return true;
}
}
2.使用
public class MainActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected boolean hasToolBar() {//重要 控制是否显示base中的ToolBar
return true;
}
}
本文介绍了一种名为BaseActivity的基础活动类的设计与实现方法。该类扩展了AppCompatActivity,并提供了自定义布局设置功能,允许子类决定是否使用基类中包含的工具栏。通过示例展示了如何在继承自BaseActivity的具体活动中覆盖hasToolBar方法来控制工具栏的显示。
3328

被折叠的 条评论
为什么被折叠?



