常用的android布局优化方法有三种:include,merge,ViewStub,下面我们来说一说他们的使用方法和使用场合:
1.include方法:
用
head.xml
这个界面最上方的聊天记录标题栏就可以用include设置,因为可以重用。
2.merge方法:
使用merge标签来布局,可以将merge标签里面的空间都组合起来,但是这个标签使用有一个限制条件:1.布局根节点一定要是FrameLayout并且不需要设置多余的属性,只需要有layout_weight和layout_width即可。
使用方法如下:
如下mergelayout.xml文件,代码如下:
这时我们看到这两个组件组合起来的效果:
3.ViewStub方法:
这个方法又叫做惰性加载的方法,对于某些不常用的组件,如果想动态显示的话,有两种方法:第一种是用setVisibility,第二种就是用ViewStub,ViewStub只有你调用了inflate方法,它才会加载界面。用法如下:
首先用布局包装不常用的组件:
stublayout.xml
Button btn;
ViewStub viewStub;
private boolean flag1= true;
private boolean flag2 = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button)findViewById(R.id.btn);
viewStub = (ViewStub)findViewById(R.id.viewStub);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (flag1) {
viewStub.inflate();
flag1 = false;
} else {
if (flag2) {
viewStub.setVisibility(View.GONE);
flag2 = false;
} else {
viewStub.setVisibility(View.VISIBLE);
flag2 = true;
}
}
}
});
}
本来“附近的群”下面有几个部落之类的组件的,但是可以设置他不显示。