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);

}

}效果如下:

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

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

android 如何动态设置margin,Android 动态设置margin相关推荐

  1. android 动态设置margin,android 代码中设置margin

    场景:Android怎么在java代码中设置margin Android如何在java代码中设置margin 原创帖,转发请注明出处:http://thierry-xing.iteye.com/blo ...

  2. Android 动态创建控件并设置控件的大小之Android屏幕适配攻略(五)

    Android 屏幕适配攻略(五)动态创建控件并设置控件的大小 题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. 重要消息 flutter中网络请求dio使用分析 视频 ...

  3. android 动态改变语言,android动态设置app当前运行语言的方法

    android开发中有时候碰到切换语言的需求,这时候需要通过代码动态改变当前运行语言. package com.example.androidtest; import java.util.Locale ...

  4. android系统设置动态壁纸,安卓教程:设置GIF动图为手机壁纸

    不禁是一把泪,连设置GIF动态图为壁纸都可以做成教程了,小编你是有多缺文章素材啊?嗯,即便如此,在Android平台上,可是有很多同学为图动不动的问题而苦恼.所以,这篇教程就出来了. 前言:实现GIF ...

  5. android4.1动态壁纸,Android 4.1 设置默认开机动态壁纸

    需要修改的文件为: 找到SourceCode/framework/base/core/res/res/values/config.xml中的: @null 包名/动态壁纸服务名 比如将默认壁纸更改为& ...

  6. Android RadioGroup动态加入RadioButton,动态设置选中和未选中的颜色及设置默认选中

    此篇文章主要实现功能:RadioGroup控件根据服务端返回的数据动态添加RadioButton 关于RadioButton动态设置背景颜色和字体颜色,踩过好多坑,接下来我总结一下遇到的所有问题及解决 ...

  7. Android TextView 是否有省略号,动态获取和设置行数

    目录 前言 一.TextView设置最大行与省略号 二.检查文本是否省略 三.实战 前言 最近在做一个效果,就是当文本显示超出2行时,文本末尾出现...(省略号),并且显示一个[展开]的按钮.点击时[ ...

  8. android动态设置src,Android 代码里设置ImageView的src和background

    设置ImageView的src: image.setImageDrawable(getResources().getDrawable(R.drawable.blackk)); String path= ...

  9. android 动态改变文字,android – 如何动态设置文本到TextView?

    我想在活动开始时显示连接的ssid和ip地址.它包含一个图像视图(用于标题,因为我没有使用操作栏)和4个文本视图(ssid标签,ssid值,ipaddr标签和ipaddr值) 我已经测试了获取ssid ...

最新文章

  1. 通信 / HTTP Host 请求头的作用
  2. verilog学习记(verilog翻译成c)
  3. MapReduce之Job工具类开发
  4. JanusGraph详解
  5. spfa算法(c++)
  6. App测试流程及测试点
  7. 机器学习算法(三十):强化学习(Reinforcement Learning)
  8. mysql拼接单引号_sql语句的拼接单引号和双引号的问题
  9. 阿里高P谈技术人如何高速成长?
  10. VBA 程序加密破解
  11. 使用 SASS 混合器 和@media 适应分辨率变化
  12. 通常在计算机中连接硬盘驱动器的接口为,解决方案:如何在Win10系统中向计算机添加硬盘驱动器...
  13. 微信浏览器内打开App Store链接,并跳转到App指定安装页面
  14. 浏览器的三个精度Bug
  15. 基于opencv实现人脸检测
  16. RK3399 Android7.1修改安兔兔等第三方软件读到的内核版本信息
  17. centos中nginx使用
  18. 户外便携式储能电源测试标准与方法
  19. 某人写了n封信,同时写了n个信封,然后将信任意装入信封,试编程求出每封信都装错的情况有多少种?
  20. 年产40万吨甲醇制乙烯MTO工艺设计

热门文章

  1. .net 4.5部署到docker容器
  2. Quartz.Net分布式任务管理平台
  3. IIS中的 Asp.Net Core 和 dotnet watch
  4. 推荐一份基于Docker的DevOps实战培训教程
  5. 老司机实战Windows Server Docker:3 单节点Windows Docker服务器简单运维(上)
  6. Redis集群~StackExchange.redis连接Twemproxy代理服务器
  7. 企业数字化转型的加速引擎 — 2019年中国数字中台行业研究报告
  8. SQL Server 编写自动增长的字符串型主键
  9. 子窗体菜单合并到父窗体菜单的解决办法
  10. C和指针之字符操作(<ctype.h>)