LinearLayout与Relativivelayout
来源:互联网 发布:arttemplate需要的数据 编辑:程序博客网 时间:2024/06/06 10:38
一些需要记住的知识点。
android:layout_gravity是本元素对父元素的重力方向。
android:layout_gravity属性则设置控件本身相对于父控件的显示位置
android:gravity是本元素所有子元素的重力方向。
布局中设置:
android:gravity="center" //left,right, top, bottomandroid:gravity="center_horizontal"
代码中设置:
ll_main.setGravity(Gravity.CENTER|Gravity.BOTTOM);// 相当于布局中gravity属性
接下来看Layout_gravity
布局中设置:
android:layout_gravity="center_vertical"android:layout_gravity="left"android:layout_gravity="left|bottom"
代码中设置
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) tv_1.getLayoutParams();layoutParams.gravity=Gravity.CENTER;tv_1.setLayoutParams(layoutParams);
当 android:orientation=”vertical” 时, layout_gravity属性只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。
当 android:orientation=”horizontal” 时, layout_gravity属性只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。
Relative中子View的android:layout_gravity=”right”属性是无效的,应该用 android:layout_alignParentRight=”true”
总结起来: LinearLayou的属性 gravity ,其子元素受LinearLayout.LayoutParams控制,LinearLayout.LayoutParams的属性 Layout_gravity ,layout_weigh
RelativeLayou的属性 gravity ,其子元素受RelativeLayout.LayoutParams控制,RelativeLayout.LayoutParams的属性 中无没有Layout_gravity, layout_weight而有layout_alignParentRight,layout_toRightOf等等。。。
推论
设置padding:
tv_1.setPadding(60,0,0,0);
设置margin:
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) tv_1.getLayoutParams();layoutParams.leftMargin=60;tv_1.setLayoutParams(layoutParams);
代码中设置alignParentRignt
RelativeLayout.LayoutParams addParams = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);// addParams.gravity = Gravity.BOTTOM | Gravity.RIGHT; addParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); addParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); addParams.rightMargin = ViewUtil.computeDimension(getActivity(), getActivity().getResources().getInteger(R.integer.people_dialpad_float_button_margin_right)); addParams.bottomMargin = ViewUtil.computeDimension(getActivity(), getResources().getInteger(R.integer.people_dialpad_float_button_margin_bottom));layout.addView(view, addParams);
- LinearLayout与Relativivelayout
- LinearLayout与RelativeLayout
- Linearlayout与Relativelayout布局回顾
- Android 布局 LinearLayout与RelativeLayout
- RelativeLayout与LinearLayout的比较
- RelativeLayout与LinearLayout的比较
- RelativeLayout与LinearLayout的区别
- RecyclerView与LinearLayout的问题
- RelativeLayout与LinearLayout的比较
- LinearLayout中的baselineAligned与layout_weight
- LinearLayOut layout_gravity 与gravity 区别
- LinearLayout
- LinearLayout
- Linearlayout
- LinearLayout
- LinearLayout
- LinearLayout
- Linearlayout
- js几种经典排序
- flaot 类型介绍
- linux下tar gz bz2 tgz z等众多压缩文件的压缩与解压方法
- Java线程同步:synchronized锁住的是代码还是对象
- 【leetcode】leetcode 刷题 笔记 (不定期更新)
- LinearLayout与Relativivelayout
- HelloCharts图表库之饼状图
- java中Class对象详解
- 如何在CentOS 6.x/7.x上安装git及最新版
- android 安装失败 Failure [INSTALL_CANCELED_BY_USER]
- springmvc第二天知识点
- SpringBatch基本概念
- PHP 递归实现格式化所有json文件
- ThinkPHP搭建手机版网站