项目中遇到类似网页云音乐那样的需要在每个页面下面都显示一个底部播放器,开始考虑用fragment来写,仔细观察网易云音乐之后发现好像不是fragment写的,于是重写setContentView方法,先给BaseActivity一个布局,里面一个linearlayout包含两部分:上半部分一个空的linearlayout用于装载activity的布局,下半部分是底部播放器布局。
public abstract class BaseActivity extends AppCompatActivity {
@Override
protected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState !=null) {
setContentView(getLayoutId());
}
@Override
public voidsetContentView(intlayoutResID) {
getDelegate().setContentView(R.layout.base_avtivity_layout);
LinearLayout base_activity_view = (LinearLayout) findViewById(R.id.base_activity_view);
View activity_view = LayoutInflater.from(this).inflate(layoutResID, null);
base_activity_view.addView(activity_view);
}