android里,addContentView()动态增加view控件,并实现控件的顶部,中间,底部布局
16lz
2022-05-29
package com.Layout.main; import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.widget.Button; import android.widget.FrameLayout; import android.widget.TextView; public class LayoutActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); FrameLayout.LayoutParams params = new FrameLayout.LayoutParams (FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT); //设置顶部,左边布局 params.gravity=Gravity.TOP|Gravity.LEFT; TextView top=new TextView(this); //控件字体位置位于左边 top.setGravity(Gravity.LEFT); top.setText("顶部"); //添加控件 addContentView(top, params); FrameLayout.LayoutParams params2 = new FrameLayout.LayoutParams (FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT); //设置中间位置 params2.gravity=Gravity.CENTER; TextView center=new TextView(this); //字体位于中部 center.setGravity(Gravity.CENTER); center.setText("中部"); //添加控件 addContentView(center, params2); FrameLayout.LayoutParams params3 = new FrameLayout.LayoutParams (FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT); //设置底部 params3.gravity=Gravity.BOTTOM|Gravity.RIGHT; Button bottom=new Button(this); //字体位于中部 bottom.setGravity(Gravity.RIGHT); bottom.setText("底部"); //添加控件 addContentView(bottom, params3); } }
addContentView和setContentView的区别:
两者的区别主要包括两点:
1. 以添加UI组件是否被移除
setContentView() 会导致先前添加的被移除, 即替换性的;
而 addContentView() 不会移除先前添加的UI组件,即是累积性的
2. 是否控制布局参数
addContentView() 有两个参数, 可以控制布局参数; 你指出的这个setContentView 没有接受布局参数,
默认使用MATCH_PARENT; 不过setContentView()也有带两个参数的版本, 可以控制布局参数。
更多相关文章
- android中TextView嵌套在ScrollView中并自由滚动
- Android大图片加载处理
- Android(安卓)HapticFeedback触感反馈
- android动态布局:用java代码实现LinearLayout以及TextView
- 短视频直播系统开发Android中常用控件
- Android(安卓)调用相册 拍照 实现系统控件缩放 切割图片
- Android(安卓)Camera中参数设置
- mybatisplus的坑 insert标签insert into select无参数问题的解决
- Python技巧匿名函数、回调函数和高阶函数