ViewStub
viewStub是一個輕量級的View,用在動態切換佈局中,
因爲如果通過設置View.GONE等來控制佈局文件的顯示與否,雖然邏輯簡單且易控制,
但是耗系統資源。所以ViewStub只能inflate一次,inflate一次後,它就會被置空,因此不能用來設置view,只能用來設置佈局文件。
用法如下:
效果圖:
如果是按照以往,註冊界面我會新開一個界面,用Intent來傳。
但是用ViewStub在一個界面就搞定了,
代碼如下:
if(vs_register == null){
ViewStub stub = (ViewStub)findViewById(R.id.vs_register);
vs_register = stub.inflate;
}else{
vs_register.setVisibly(View.GONE);
}
//當ViewStub設置View.GONE時,它會被置空,所以要加一個非空判斷