android动态修改布局
2018-02-01 09:00
211 查看
LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) textView.getLayoutParams(); //取控件textView当前的布局参数 linearParams.height = 20;// 控件的高强制设成20
linearParams.width = 30;// 控件的宽强制设成30
textView.setLayoutParams(linearParams); //使设置好的布局参数应用到控件
linearParams.width = 30;// 控件的宽强制设成30
textView.setLayoutParams(linearParams); //使设置好的布局参数应用到控件
RelativeLayout.LayoutParams lp = (LayoutParams) logo.getLayoutParams(); // 如果没有水平居中,说明是软键盘收起,否则是开始时的初始化或者因为此处if条件里的语句修改控件导致的再次布局,忽略掉,否则无限循环 if (lp.getRules()[RelativeLayout.CENTER_HORIZONTAL] == 0) { // 居中Logo lp.addRule(RelativeLayout.CENTER_HORIZONTAL); lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT, 0); // 还原Logo为原来大小 int height = logo.getHeight(); int width = logo.getWidth(); lp.width = width * 2; lp.height = height * 2; logo.setLayoutParams(lp); // Logo下的文字 RelativeLayout.LayoutParams labelParams = (LayoutParams) label.getLayoutParams(); labelParams.addRule(RelativeLayout.CENTER_HORIZONTAL); // 设置水平居中 labelParams.addRule(RelativeLayout.BELOW, R.id.logo); // 设置显示到Logo下面 labelParams.addRule(RelativeLayout.RIGHT_OF, 0); // 取消显示到Logo右面 labelParams.addRule(RelativeLayout.CENTER_VERTICAL, 0); // 取消垂直居中 label.setLayoutParams(labelParams);
相关文章推荐
- android 用java动态设置布局(增添删除修改布局)
- Android布局中动态修改TextView等控件中文字的颜色
- android用java动态增添删除修改布局
- Android自带抽屉布局及NavigationView的使用(动态加载头部图片,修改user名称)
- Android约束布局ConstraintLayout动态设置Id失效问题解决办法
- Android下的一种动态布局
- android动态布局:用java代码实现LinearLayout以及TextView
- Android之Launcher分析和修改2——Icon修改、界面布局调整、壁纸设置
- Android 动态加载布局
- Android-自定義控件使用(方便修改控件的風格,只修改布局文件)
- Android中动态布局
- 动态修改布局和添加控件
- android中关于如何动态改变include引入的布局的问题
- android 动态创建控件并设置布局
- Android使用LayoutInflater动态加载布局和操作控件
- Android利用activity-alias动态修改应用图标和名称
- Android-Activity程序动态的生成表格布局管理器
- Android之framework修改底部导航栏NavigationBar动态显示和隐藏
- android客户端学习-RelativeLayout布局动态在四个角的位置增加标签
- android里,addContentView()动态增加view控件,并实现控件的顶部,中间,底部布局