Activity中:
setContentView
addContentView
通用:
inflate
PreferenceFragment中:
addPreferencesFromResource(R.xml.settings);
Preference中:
setLayoutResource(R.layout.item); Preference
loadHeadersFromResource
addPreference
http://www.csdn123.com/html/exception/567/567881_567885_567882.htm
addContentView跟setContentView的区别
addContentView和setContentView的区别
麻烦大家解答一下,addContentView(View,LayoutParams)和setContentView(View)的区别.特别是在代码布局中有何区别。比如:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout l1 = new LinearLayout(this);
l1.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
l1.setOrientation(LinearLayout.VERTICAL);
l1.setBackgroundColor(Color.RED);
Button b1 = new Button(this);
b1.setText(“Ok”);
LinearLayout.LayoutParams ll1 = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
LinearLayout.LayoutParams ll2 = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
ll1.topMargin= 50;
ll1.leftMargin = 100;
l1.addView(b1, ll1);
addContentView(l1, ll2);//区别在哪
setContentView(l1);//区别在哪
}
——解决方案——————–
如果Activity已经有Content View了,addContentView会把新的View加在老的View后面,setContentView会把老的View删了再加新的View
——解决方案——————–
两者的区别主要包括两点:
1. 以添加UI组件是否被移除
setContentView() 会导致先前添加的被移除, 即替换性的;
而 addContentView() 不会移除先前添加的UI组件,即是累积性的
- 是否控制布局参数
addContentView() 有两个参数, 可以控制布局参数; 你指出的这个setContentView 没有接受布局参数,
默认使用MATCH_PARENT; 不过setContentView()也有带两个参数的版本, 可以控制布局参数。
——解决方案——————–
楼上的挺详细的