导航:首页 > 操作系统 > android代码设置margin

android代码设置margin

发布时间:2023-01-31 17:29:57

android为什么设置params.bottomMargin无效

Android动态改变View控件大小的方法:
1、声明控件参数获取对象 LayoutParams lp;
2、获取控件参数: lp = 控件id.getLayoutParams();
3、设置控件参数:如高度。 lp.height -= 10;
4:、使设置生效:控件id.setLayoutParams(lp);
例如如要把Imageview下移200px: ImageView.setPadding( ImageView.getPaddingLeft(), ImageView.getPaddingTop()+200, ImageView.getPaddingRight(), ImageView.getPaddingBottom());


控件之间的间距有两种设置:

  1. android:layout_margin="10dp" 外边距

  2. android:padding="10dp" 内边距

Ⅱ Android开发中margin语法怎么用

margin 是外边距的意思。

在XML中 :

不设置margin:
这些属性;



也可自己试下 padding;

Ⅲ 动态设置 android:layout_marginTop 怎么设置

LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); layoutParam.setMargins(10, 20, 10, 0);代码中,把这个 layoutParam 给控件应该就可以了

Ⅳ Android的布局属性中padding和margin的区别

本文将讲述HTML和CSS的关键—盒子模型(Box model). 理解Box model的关键便是margin和padding属性, 而正确理解这两个属性也是学习用css布局的关键.

注:为什么不翻译margin和padding? 原因一, 在汉语中并没有与之相对应的词语; 原因二: 即使有这样的词语, 由于在编写css代码时, 必须使用margin和padding, 如果我们总用汉语词语代替其来解释的话, 到了实际应用时容易混淆margin和padding的概念.

如果有一点Html基础的话, 就应该了解一些基本元素(Element), 如p, h1~h6, br, div, li, ul, img等. 如果将这些元素细分, 又可以分别归为顶级(top-level)元素,块级(block-level) 元素和内联(inline)元素.

1. Block-level element: 指能够独立存在, 一般的块级元素之间以换行(如一个段落结束后另起一行)分隔. 常用的块级元素包括: p, h1~h6, div, ul等;

2. Inline element: 指依附其他块级元素存在, 紧接于被联元素之间显示, 而不换行. 常用的内联元素包括: img, span, li, br等;

3. Top-level element: 包括html, body, frameset, 表现如Block-level element, 属于高级块级元素.

块级元素是构成一个html的主要和关键元素, 而任意一个块级元素均可以用Box model来解释说明.

Box Model:任意一个块级元素均由content(内容), padding, background(包括背景颜色和图片), border(边框), margin五个部分组成. 立体图如下(Fig. 1):

即ab=cd=30px, ID1的margin-top/bottom=10px被折叠了, 而且ID1应有的margin黑色背景也一同被折叠消失了.

为什么会折叠:造成以上现象的原因是, 我们在css中并没有声明id为ID1的元素div的height(高), 因此它的高便被设为auto(自动)了. 一旦其值被设为auto, 那么浏览器就会认为它的高为子元素ID2的border-top到border-bottom之间的距离, 即Fig. 4中bc的长度, 所以子元素ID2的margin-top/bottom(30px)就伸出到了父元素ID1之外, 出现了Fig. 4中ab与cd之间的空白区域. 因此父元素ID1的margin-top/bottom因子元素的”红杏出墙”而被折叠消失了.

如何解决折叠问题:可能大家最初想到的办法就是根据折叠发生的原因—auto, 来解决问题. 但是, 在实际操作中, 某些元素如div, h1, p等, 我们是不可能预先知道它的高是多少的, 因此在css文件中是不能常规通过声明元素的高来解决折叠问题.

我们需要在css文件中加入如下代码(红色部分):

#ID1 {
background-color: #333;
color: #FFF;
margin-top: 10px;
margin-bottom: 10px;
padding-top:1px;
padding-bottom:1px;
}

或是:

#ID1 {
background-color: #333;
color: #FFF;
margin-top: 10px;
margin-bottom: 10px;
border-top:1px solid #333;
border-bottom:1px solid #333;
}

通过增加以上代码, 便可使浏览器重新计算ID1的高, 使其为子元素ID2的margin-top/bottom外缘(outer top/bottom)之间的距离, 即Fig. 3中be的距离.

简单说来:
也就是说 设置margin 那么他所占据的空白地方会是在边框外面
设置padding 他所占据的空白地方是在边框里面
而且在IE6 一下的版本中 存在这padding 计算错误的BUG
CSS 的宽度属性本来是不包含padding的 但是 在ie下面有的时候宽度是包含padding 所以 建议在不熟悉CSS 在定位的时候 都用margin属性

Ⅳ Android Dialog 设置Margin方式总结

在日常开发中,总是会遇到各种Dialog的使用,调整根据UI设计的不同,会经常调整Dialog在屏幕中的位置,这篇文章主要介绍,在使用 DialogFragment 时设置Margin的几种方式。

如下是最后实现的效果:
设置两边margin效果:

设置顶部margin效果:

全屏的Dialog设置顶部Margin:

这个比较容易,主要就是设置一个高度wrap_content,宽度match_parent的dialog,然后在dialog的布局中设置margin就可以了。

如下是xml文件:

然后在DialogFragment的onResume里对Window做一些处理:

这种情况margin可以通过 WindowManager.LayoutParams 的 verticalMargin 属性来实现。 verticalMargin 和xml里面设置的layout_margin不一样, verticalMargin 是通过设置一个0-1的float变量,来标识margin在屏幕中的占比。

如下是在DialogFragment的onResume中的处理:

xml文件(和1的类似,没有什么特别):

这里如果使用2中的方法,没有任何效果。这里使用另外一种方式实现-- insetDrawable 。

这里的实现是在xml里面写一个 <inset> :

在DialogFragment的onResume方法中:

Ⅵ android布局中怎么设置外边距

android 中有两种边距:外边距margin 和内边距 padding
假设一个控件A和一个控件B
设置A控件的外边距(上下左右)为10dp的代码为:
margin:10dp;
设置A空间的外边距(上)为10dp的代码为:
margin-top:10dp;
其他以此类推

Ⅶ Android中margin和padding的区别

1、区别:
1)android:layout_marginLeft指该控件距离边父控件的边距;
2)android:paddingLeft指该控件内部内容,如文本距离该控件的边距。

2、举例:
当按钮分别设置以上两个属性时,得到的效果是不一样的。
android:paddingLeft="30px":
按钮上设置的内容(例如图片)离按钮左边边界30个像素。
android:layout_marginLeft="30px"
整个按钮离左边设置的内容30个像素
这二个属性是相对的,假设B是A的子控件,设置B的margin和设置A的padding能达到相同的效果。

Ⅷ Android 通过配置,设置margin-Left和margin-Top相对的距离

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"android:layout_height="match_parent"

android:orientation="vertical">

<Viewandroid:layout_weight="1.0"

android:layout_width="match_parent"android:layout_height="0dp"/>

<LinearLayoutandroid:layout_weight="2.0"

android:layout_width="match_parent"android:layout_height="0dp"

android:orientation="horizontal">

<Viewandroid:layout_weight="1.0"

android:layout_width="0dp"android:layout_height="match_parent"/>

<LinearLayoutandroid:layout_weight="2.0"

android:layout_width="0dp"android:layout_height="match_parent">

//这个布局应该就是你要的

</LinearLayout>

</LinearLayout>

</LinearLayout>

Ⅸ Android如何在java代码中设置margin

在xml里设置margin,如:<ImageView android:layout_margin="5dip" android:src="@drawable/image" />但是有些情况下,需要在java代码里来写,通过查阅android api,android.view.ViewGroup.MarginLayoutParams有个方法setMargins(left, top, right, bottom). 其直接的子类有: FrameLayout.LayoutParams, LinearLayout.LayoutParams and RelativeLayout.LayoutParams.:LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);lp.setMargins(10, 20, 30, 40);imageView.setLayoutParams(lp);

Ⅹ Android 如何在Java代码中手动设置控件的marginleft

1、定义LayoutParams

LinearLayout.LayoutParamslayoutParams=newLinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);//定义一个LayoutParams

2、在LayoutParams中设置marginLeft

layoutParams.setMargins(20,0,0,0);//4个参数按顺序分别是左上右下

3、把这个LayoutParams设置给控件

mView.setLayoutParams(layoutParams);//mView是控件
阅读全文

与android代码设置margin相关的资料

热点内容
安卓耳塞失灵怎么办 浏览:763
华三交换机保存命令 浏览:599
命令方块怎么调键盘 浏览:841
不把密码存在服务器上怎么办 浏览:398
怎么让指令方块的命令消失 浏览:543
用单片机做plc 浏览:404
云服务器进入子目录命令 浏览:795
服务器机柜如何配电 浏览:578
怎么删除iphone资源库里的app 浏览:940
pdf鱼 浏览:648
单片机pcf8591什么作用 浏览:805
sql命令学院 浏览:283
加密软件在电脑那个盘 浏览:988
android获取外部存储 浏览:573
怎么查自己家的服务器地址 浏览:858
编程c语言工作好不好 浏览:569
单片机焊接地怎么连接 浏览:694
游戏源码怎么抓 浏览:216
程序员帮大家引走怪物 浏览:16
手机网页小游戏源码 浏览:513