国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

java - 多個介面相同佈局?
ringa_lee
ringa_lee 2017-06-20 10:06:35
0
3
1232

假設我有5個不同的Activity但這5個activity底部的佈局、功能都是一樣(其他佈局不一樣例如toolBar),我想問一下如何才能讓這個相同的佈局只寫在基類Activity中接著其他Activity繼承這個BaseActivity,從而實現(xiàn)只寫一個地方的程式碼而其他Activity中不用在寫相同的程式碼。
ps:如果這個方式無法實現(xiàn),請問有其他方法沒有。

ringa_lee
ringa_lee

ringa_lee

全部回覆(3)
習慣沉默

你可以看下這篇,看別人的做法,希望對你有所啟發(fā):http://www.jianshu.com/p/5bab...

僅有的幸福

/q/10...
你這個問題跟上面那個問題,應該問的異曲同工,你參考下。

某草草

首先我們定義一個Boolean 變數(shù) 用來控制共有部分是否顯示,並加入方法如下:

 private boolean isShowCommonView = true;

  public void setShowCommonView(boolean isShow) {
        isShowCommonView = isShow;
    }

然後我們複寫B(tài)aseActivity中的setContentView:如下

 @Override
    public void setContentView(@LayoutRes int layoutResID) {
        super.setContentView(layoutResID);
        if (isShowBottom) {
            ViewGroup mDecorView = (ViewGroup) getWindow().getDecorView();
            //獲得DecorView視圖層次中的FrameLayout
            //這個地方不清楚的可以看一下Activity的視圖層次圖就明白了
            mContentRootView = (FrameLayout) ((ViewGroup) mDecorView.getChildAt(0)).getChildAt(1);
            mBottomView = LayoutInflater.from(getBaseContext()).inflate(R.layout.ac_main_play_view, null);
            FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                    ViewGroup.LayoutParams.WRAP_CONTENT);
            layoutParams.gravity = Gravity.BOTTOM;
            mContentRootView.addView(mBottomView, layoutParams);
           //下面就是根據(jù)mBottomView.findViewById()來進行一些視圖的初始化工作
           //如設置監(jiān)聽器等 
        }
    }

最後我們在其他繼承了BaseActivity的子類別的onCreate()中一定要在super.onCreate()前呼叫開始定義的方法setShowCommonView(Boolean)來控制共有部分是否顯示。如下

//子類的生命周期函數(shù):onCreate(Bundle)
 @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        //顯示底部視圖 true為顯示 false 為隱藏
        setShowBottom(true);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mainplay);
        ButterKnife.bind(this);
        initview();
        //其他的工作。。。
    }
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板