LinearLayout-margin不起作用的处理

1、如果LinearLayout中使用android:layout_marginRight不起作用,通过测试原来在android2.x中,如果一个控件中有android:layout_gravity属性,就会出现android:layout_marginRight没有应有的效果,而是把左边距加到右边距上去,直接去掉android:layout_gravity这个属性就能解决

2、如果是在RelativeLayout中不起作用,请在这个代码前加了一条android:layout_alignParentRight="true",就行(自己验证成功)

3、如果是ScrollView中的LinearLayout 中设置margin 类的属性无效,解决方法 LinearLayout中加android:layout_gravity="top" 属性就ok,

4、如果是LineaerLayout放到scrollview或者RelativeLayou里面中layout_margin失效不起作用,解决方法在属性里面加入android:layout_gravity="top",大家注意跟1是不一样的,1是LinearLayout里面的控件,而这里是指LinearLayout在其他控件中的情况,请分清对待。

5.我在一个relativelayout中放置了一个relativelayout,结果这个relativelayout中的layout_marginTop一直不起作用,后来发现是因为我的最外层relativelayout增加了另一个android:gravity="center",导致了问题

上面不知道是是个bug还是什么其他原因。

以上内容转载自:http://blog.csdn.net/lovexieyuan520/article/details/10499811

----我的经验:

我希望在一个actionmode中添加一个布局,如下

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/navigation_bar"
            android:layout_width="match_parent"
              android:layout_height="match_parent"
            android:orientation="horizontal">
       <RelativeLayout
                android:layout_marginTop="26dp"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
                    <Button

         android:id="@+id/cancel"
                      android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                      android:layout_marginLeft="10dp"
                      android:layout_centerVertical="true"
                      android:src="@drawable/fm_return_selector" />
                   <TextView        

          android:id="@+id/select"
                       android:layout_height="wrap_content"
                       android:layout_width="wrap_content"

                           android:layout_toRightOf="@+id/cancel"              

                         android:layout_alignParentRight="true"
                       android:textSize="13sp"
                       android:textColor="#ffffff" />
                    <Button

              android:id="@+id/detail"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:layout_marginRight="10dp"
                    android:layout_alignParentRight="true"
                    android:src="@drawable/action_mode_detail" />

                 </RelativeLayout>

    </LinearLayout>

结果发现,text永远不会居中,后来终于发现了问题,原来TORIGHTOF的意思是,你的控件左边跟另一个控件的右边对齐,如果你不添加layout_marginLeft,那么两个之间的距离是为零的,也就是所谓的严格对齐。而且,他的优先级似乎比android:layout_alignParentRight="true"更高,这就是它不发生作用的原因,只要去掉TORIGHTOF这个属性就行了,问题迎刃而解。

时间: 2024-08-21 20:41:44

LinearLayout-margin不起作用的处理的相关文章

Android 布局学习之——LinearLayout属性baselineAligned的作用及baseline

相信大家对LinearLayout已经相当熟悉,但你们是否了解它的属性baselineAligned呢? Android官方文档是这么描述的: 那到底这个属性是做什么用的呢? baselineAligned:基准线对齐. 首先要解释什么是基准线,这个在中文中不常见,但在以字母为书写语言的其他国家非常常见. 如上图所示,红线就是基线(baseline),是不是很熟悉,这不就是我们经常写英文的四条线中的第三条吗. 那baselineAligned是做什么用的呢?根据官方文档,baselineAlig

Android 布局学习之——LinearLayout属性baselineAligned的作用及baseline(转载)

转自:http://www.cnblogs.com/JohnTsai/p/4074643.html 相信大家对LinearLayout已经相当熟悉,但你们是否了解它的属性baselineAligned呢? Android官方文档是这么描述的: 那到底这个属性是做什么用的呢? baselineAligned:基准线对齐. 首先要解释什么是基准线,这个在中文中不常见,但在以字母为书写语言的其他国家非常常见. 如上图所示,红线就是基线(baseline),是不是很熟悉,这不就是我们经常写英文的四条线中

【转】Android 布局学习之——LinearLayout属性baselineAligned的作用及baseline

相信大家对LinearLayout已经相当熟悉,但你们是否了解它的属性baselineAligned呢? Android官方文档是这么描述的: 那到底这个属性是做什么用的呢? baselineAligned:基准线对齐. 首先要解释什么是基准线,这个在中文中不常见,但在以字母为书写语言的其他国家非常常见. 如上图所示,红线就是基线(baseline),是不是很熟悉,这不就是我们经常写英文的四条线中的第三条吗. 那baselineAligned是做什么用的呢?根据官方文档,baselineAlig

LinearLayout属性baselineAligned的作用及baseline

相信大家对LinearLayout已经相当熟悉,但你们是否了解它的属性baselineAligned呢? Android官方文档是这么描述的: 那到底这个属性是做什么用的呢? baselineAligned:基准线对齐. 首先要解释什么是基准线,这个在中文中不常见,但在以字母为书写语言的其他国家非常常见. 如上图所示,红线就是基线(baseline),是不是很熟悉,这不就是我们经常写英文的四条线中的第三条吗. 那baselineAligned是做什么用的呢?根据官方文档,baselineAlig

margin负值的作用

1.有俩个边框,有不同的背景色,不管哪边高增加,另一边也变高 2.实现自适应

内联元素的padding和margin

首先区分一下3类元素: 1)块级元素:div.p等这一类具有宽高属性,且单独占一行的元素: 2)占位元素:img.input这一类具有宽高属性.紧随上一个元素不单独占一行的元素: 3)内联元素:span.strong这一类不具有宽高属性,且紧随上一个元素不单独占一行的元素. 本文主要讨论内联元素的padding.margin属性的存在与否和表现形式. 直接看代码: <div id="wrap"> <span>啊啊啊啊啊啊</span> <spa

CSS重要属性之 margin 属性知识大整合

以下的分享是本人最近几天学习了margin知识后,大有启发,感觉以前对margin的了解简直太浅薄.所以写成以下文章,一是供自己整理思路:二是把知识分享出来,避免各位对margin属性的误解.内容可能会有点多,但都是精华,希望大家耐心学习. 以下的分享会分为如下内容: 1.margin 属性的简单介绍 1.1:普通流的 margin 百分比设置 1.2:绝对定位的 margin 百分比设置 2.margin 无法适用的元素 3.外边距折叠 (Collapsing margins) 3.1:Col

margin学习探索

对于页面布局,margin为css中非常常用的一个属性,和padding一样常用作元素位置控制的属性.padding以后会进行续写. 1.margin属性,用于设置边距,不会继承也不会遗传给子元素,写法有4种.   1.1. margin: 5px; 一个值的时候,表示上下左右四个边边距都为5像素   1.2. margin: 5px 1px; 2个值的时候,表示上下边距5像素,左右边距1像素   1.3. margin:5px 1px 5px; 3个值的时候,表示上边距5像素,左右1像素,下边

Kidney自得其乐版CSS教程 Chapter2 Box Model

Chapter 2 Box Model Version Update Note 1.0 2016-5-31 首次添加.欢迎在评论中指出错误,一经核实,立即修订,且注明贡献者. 1.元素的分类        1.1 替换元素 替换元素就是替身元素,它替别人占个位,它不是普通的标签,它代表某种元件. 例如:<img> <source><input><embed>……        1.2 非替换元素 大部分元素都是非替换元素. 从形式上看非替换元素是一对标签,替

自定义View系列教程01--常用工具介绍

在自定义View的时候,常常会用到一些Android系统提供的工具.这些工具封装了我们经常会用到的方法,比如拖拽View,计算滑动速度,View的滚动,手势处理等等.如果我们自己去实现这些方法会比较繁琐,而且容易出一些bug.所以,作为自定义View系列教程的开端,先介绍一下这些常用的工具,以便在后续的学习和工作中使用. Configuration ViewConfiguration GestureDetector VelocityTracker Scroller ViewDragHelper