android 如何动态设置margin,Android 动态设置margin

android的view中有setPadding,但是没有直接的setMargin方法。如果要在代码中设置该怎么做呢?

可以通过设置view里面的LayoutParams

设置,而这个LayoutParams是根据该view在不同的GroupView而不同的。

布局文件如下:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:id="@+id/ceshi_ly"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@android:color/darker_gray" >

android:id="@+id/ceshi_tv"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@android:color/holo_green_dark"

android:text="测试动态设置margin" />

代码如下:

package com.android.testdemo;

import android.app.Activity;

import android.os.Bundle;

import android.widget.LinearLayout;

import android.widget.LinearLayout.LayoutParams;

import android.widget.TextView;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

TextView ceshiTv = (TextView) findViewById(R.id.ceshi_tv);

LinearLayout.LayoutParams lp = (LayoutParams) ceshiTv.getLayoutParams();

lp.setMargins(30, 50, 22, 10);

ceshiTv.setLayoutParams(lp);

}

}效果如下:

17f88e85a158a1c0b4dab0483c13e4af.png

当然也可以把其封装成方法,如下:

public static void setMargins (View v, int l, int t, int r, int b) {

if (v.getLayoutParams() instanceof ViewGroup.MarginLayoutParams) {

ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) v.getLayoutParams();

p.setMargins(l, t, r, b);

v.requestLayout();

}

}

原文:http://blog.csdn.net/u014649598/article/details/45580461

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

公司服务器iSCSI网络硬盘连接故障

今天检查备份服务器工作状态,发现iSCSI硬盘连接出现了故障。然后刷新了一下系统状态,发现过了几秒钟后又重新连接上了。心里很疑惑,于是开始检查服务器日志。发现在9月13日凌晨4点20分左右有两个来源为l2nd的消息。稍前的一个信息告知网络控制…

老是担心数学学不好?是因为你的数学老师不是爱因斯坦!

各位模友,大家好我是小木相信上学的时候,数学对于很多人来说,无疑是个坑!好不容易毕业了,好奇又好学的小表妹每次都能完美地引起小木的心酸历程。就在小木一边回忆起自己的心酸历程的同时,不禁感叹&#xf…

创业95%失败不是因项目本身

95%的人想过个人创业;95%的人一直只是停留在想象的阶段;95%的人创业失败;95%的失败不是因为项目本身的问题。 多年以前,就曾有句著名的口号:“十亿人民九亿商,还有一亿要开张。”中国人的个人创业意识普及…

oracle 产看执行计划_ODBA 技能SPM计划

OBA技能1-获取执行计划OBA技能2-执行计划顺序OBA技能3-执行计划顺序表连接ODBA 技能4实战执行计划ODBA 技能5 固定执行计划因为每次统计信息作业在收集完信息后,会触发ACS自适应游标管理程序,进行对绑定变量的窥探工作&#xff0c…

android动画设置的单位,Kotlin语言入门—实现单位转换,view设置,动画等

dp转换为px在android开发中,dp sp px之间的转换是不可避免的,在使用java语言开发时,往往会做个工具类进项转化。这样的工具类在网上很多,这里就不在展示了。如果使用Kotlin语言开发,则可以通过通过Extension来优雅的解…

微软面向初学者的机器学习课程:1.1-机器学习介绍

写在前面:最近在参与microsoft/ML-For-Beginners的翻译活动,欢迎有兴趣的朋友加入(https://github.com/microsoft/ML-For-Beginners/issues/71)机器学习介绍![机器学习,人工智能,深度学习-有什么区别?](ht…

margin-top绑架父节点问题的分析

转载至:http://www.benben.cc/blog/?p98 现象: 当两个空的块级元素嵌套时,如果内部的块设置有margin-top属性,而且父元素没有下边解决方法所述的特征,那么内部块的margin-top属性会绑架父元素(即将margin-…

遭央视曝光的“AI算命”,背后竟然隐藏了一个价值千亿的市场!?

全世界只有3.14 % 的人关注了青少年数学之旅还记得儿时算命先生曾对我说:等你25岁那年,会黄袍加身,每天与大鱼大肉为伍。如今眼看着25逐步逼近,数据汪看到美团的外卖小哥都有种莫名的“亲切感”。爆红的“AI算命”言归正传&#x…

OnIntialDialog() (Dialog应用)和 OnIntialUpdate(View应用)的 程序起始点

Dialog为基的应用框架的程序的起始点在OnIntialDialog()FormView为基的应用框架的程序起始点在OnIntialUpdate() 把 需要起始就装入的代码放在 CformView:OnIntialUpdate();GetParentFrame()->RecalcLayout(); Resize ParenttoFit(); 三个语句之后(上…

微软面向初学者的机器学习课程:1.2-机器学习的历史

写在前面:最近在参与microsoft/ML-For-Beginners的翻译活动,欢迎有兴趣的朋友加入(https://github.com/microsoft/ML-For-Beginners/issues/71)机器学习的历史作者Tomomi Imura[1]课前测验[2]在本课中,我们将走过机器学…

android布局中画圆角矩形,Android 自定义View之圆角矩形轨迹图

一、原理说明主要是通过计算轨迹的坐标点加入到集合中,然后对集合进行相应截取,传入canvas中。二、具体代码实现/*** 原理是先通过尺寸把各个轨迹的坐标计算出来,然后再截取相应坐标,进行重绘。** author lz* Time 2019-3-27*/pub…

类QQ右下角弹出框(Qt)

2019独角兽企业重金招聘Python工程师标准>>> 使用Qt写的类QQ右下角弹出框 /***main.cpp */ #include <QtGui/QApplication> #include "dialog.h"int main(int argc, char *argv[]) {QApplication a(argc, argv);Dialog w;w.show();return a.exec()…

实现贝叶斯分类器_机器学习实战项目-朴素贝叶斯

朴素贝叶斯 概述贝叶斯分类是一类分类算法的总称&#xff0c;这类算法均以贝叶斯定理为基础&#xff0c;故统称为贝叶斯分类。本章首先介绍贝叶斯分类算法的基础——贝叶斯定理。最后&#xff0c;我们通过实例来讨论贝叶斯分类的中最简单的一种: 朴素贝叶斯分类。贝叶斯理论 &a…

设计模式(1)

一、 C# 面向对象程序设计复习 点击http://files.cnblogs.com/zhenyulu/CSharp.rar下载&#xff0c;内容包括&#xff1a; 字段与属性.cs 属性、方法作用范围.cs 一加到一百.cs 使用接口排序(2).cs 使用接口排序(1).cs 求质数.cs 冒泡法排序.cs 九九表.cs 静态与非静态…

UILabel自适应高度和自动换行

码&#xff1a; [plain] view plaincopy //初始化label UILabel *label [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)]; //设置自动行数与字符换行 [label setNumberOfLines:0]; label.lineBreakMode UILineBreakModeWordWrap; // 测试字串 NSString *s &qu…

你怎么了珍妮,你醒醒啊珍妮~ | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅&#xff08;图源网络&#xff0c;侵权删&#xff09;太惨了我知道我不应该笑我得点完“再看”再笑↓ ↓ ↓

鸿蒙蕴含的哲理,经典别致的人生语录,蕴含哲理,受用一生!

一、人生永远是这个道理&#xff1a;在意的越多&#xff0c;遇到的麻烦就会越多什么都不在乎的人&#xff0c;反倒一点麻烦都没有——苏芩二、生活总是这样&#xff0c;不能叫人处处都满意&#xff0c;但我们还要热情地活下去。——路遥三、要想幸福一点&#xff0c;心就要简单…

微软面向初学者的机器学习课程:1.3-机器学习中的公平性

写在前面&#xff1a;最近在参与microsoft/ML-For-Beginners的翻译活动&#xff0c;欢迎有兴趣的朋友加入&#xff08;https://github.com/microsoft/ML-For-Beginners/issues/71&#xff09;机器学习中的公平性作者Tomomi Imura课前测验介绍在本课程中&#xff0c;您将开始了解…

python +appium实现原理_python_appium使用原理

一。appium介绍Appium是一个开源测试自动化框架&#xff0c;可用于原生&#xff0c;混合和移动Web应用程序测试。 它使用WebDriver协议驱动iOS&#xff0c;Android和Windows应用程序。多平台支持&#xff1a;三种APP&#xff1a;-原生APP类型 --原生应用-web app类型 --移动应…

[每日一题] 11gOCP 1z0-052 :2013-09-23 Oracle11g 内存参数设置...................................C7...

转载请注明出处&#xff1a;http://blog.csdn.net/guoyjoe/article/details/11924597正确答案&#xff1a;CD&#xff08;题库给出的答案是AD&#xff0c;大家要相信自己&#xff0c;有些答案是错的&#xff01;一切以实战为依据&#xff09;一、我们先来看Oracle 11g内存架构图…