addContentView和setContentView的区别
2017-03-07 17:37
621 查看
两者的区别主要包括两点:
1. 以添加UI组件是否被移除
setContentView() 会导致先前添加的被移除, 即替换性的;
而 addContentView() 不会移除先前添加的UI组件,即是累积性的
2. 是否控制布局参数
addContentView() 有两个参数, 可以控制布局参数; 你指出的这个setContentView 没有接受布局参数,
默认使用MATCH_PARENT; 不过setContentView()也有带两个参数的版本, 可以控制布局参数。
下面分享两个例子,来具体实现动态添加view
1.
2.
1. 以添加UI组件是否被移除
setContentView() 会导致先前添加的被移除, 即替换性的;
而 addContentView() 不会移除先前添加的UI组件,即是累积性的
2. 是否控制布局参数
addContentView() 有两个参数, 可以控制布局参数; 你指出的这个setContentView 没有接受布局参数,
默认使用MATCH_PARENT; 不过setContentView()也有带两个参数的版本, 可以控制布局参数。
下面分享两个例子,来具体实现动态添加view
1.
@Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); TextView tv = new TextView(this); FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT); // 设置TextView出现的位置(悬浮于顶部) params.topMargin = 0; params.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL; tv.setText("addContentView和setContentView的区别......"); addContentView(tv, params); // setContentView(tv); }
2.
private Loading_view loading_view; loading_view = new Loading_view(this); //实例化自定义VIew loading_view.setMessage("loading文字提示内容...."); ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); //添加当前自定义View进主布局文件 addContentView(loading_view, params);
相关文章推荐
- android 的activity中addContentView 和 setContentView 的区别
- addContentView跟setContentView的区别
- Android中setContentView、addContentView、inflate、LayoutInflater和findViewById()区别
- android 的activity中addContentView 和 setContentView 的区别
- 研究了下Activity里的setContentView 和addContentView的区别
- inflate, findViewById与setContentView的区别与联系
- setContentView和inflate区别
- setContentView和inflate区别
- setContentView() 、LayoutInflater的区别
- setContentView() 、LayoutInflater的区别
- [Android 界面] setContentView和inflate区别!!!
- setContentView()和inflate()的区别
- setContentView、findViewById 和 inflate 的区别?
- [Android] setContentView和inflater区别以及findViewById和inflater的区别
- setContentView和inflate区别
- inflate, findViewById与setContentView的区别与联系
- setContentView 和 startActivity(intent) 区别
- 【转】Android之Inflate()方法用途+setContentView和inflate区别
- Android之Inflate()方法用途+setContentView和inflate区别
- setContentView和inflate区别