您的位置:首页 > 其它

加载布局文件

2016-05-14 17:39 309 查看
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()也有带两个参数的版本, 可以控制布局参数。

——解决方案——————–

楼上的挺详细的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: