Android动态设置控件大小以及设定margin以及padding值

Android 设置Padding和Margin(动态/静态) 一、什么是padding,什么是margin? 在Android界面开发时,为了布局更加合理好看,很多时候会用上Padding和Margin, padding和margin是什么呢?即内边距和外边距; 某个View指定为padding是针对该View里面的子View距离该View距离而言的,或者是里面的内容距离容器的距离。 某个View指定为margin是针对该View本身距离别人或者父View而言的。 例如下图,输入框里面的文字内容,如果不设置内边距,那么就会紧挨左上角,这样看起来,就很不友好, 阅读详情

一、概述

在android开发了,我们经常会遇到动态添加控件,或许是TextView或者Button之类的,需要设置控件的大小,margin值或者padding值,注意,一般默认的宽是填充父窗体,高为包裹内容;

二、实现过程(以TextView为例)

TextView textView = new TextView(getApplicationContext());
		textView.setBackgroundColor(Color.GRAY);
		textView.setTextColor(Color.WHITE);
		textView.setText("动态设置控件大小");
		
		// 1、设置固定大小
		 LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(200, 100);	 
		// 设置包裹内容或者填充父窗体大小
		 LinearLayout.LayoutParams lp2 = new LinearLayout.LayoutParams(
				LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);	
		//设置padding值
		textView.setPadding(10, 10, 10, 10);
		//设置margin值
		 lp.setMargins(20, 20, 0, 20);
		view.addView(textView,lp);

以上方法经本人亲测,绝对不会出错;

三、以下是错误的做法(本人亲测)

第一种做法:

LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) textView.getLayoutParams(); //取控件textView当前的布局参数  
linearParams.height = 20;// 控件的高强制设成20  
  
linearParams.width = 30;// 控件的宽强制设成30   
  
textView.setLayoutParams(linearParams); //使设置好的布局参数应用到控件</pre>  

第二种做法

	LayoutParams laParams=(LayoutParams)textView.getLayoutParams();
		 laParams.height=200;
		 laParams.width=100;	
		view.addView(textView,laParams);
这两种方法一般会有空指针异常,我试了很多遍,都会出错;

四、总结

希望给大家一些帮助,祝工作愉快!

Android的TextView设置padding无效 最近在开发了一个新的功能,有如下UI样式: 我采用动态代码的方式来实现的,代码如下: TextView textView = new TextView(context); textView.setTag(action); textView.setTextSize(7); textView.setGravity(Gravity.CENTER); textView.setTextColor(Color.WHITE); textView.setText(" 阅读详情

相关推荐

别再乱改grub.cfg了!手把手教你用GRUB2自定义多系统启动菜单(含UEFI/BIOS双模式配置)

本文详细介绍了如何安全、高效地使用GRUB2自定义多系统启动菜单,涵盖UEFI/BIOS双模式配置。通过避免直接编辑grub.cfg文件,采用正确的配置方法和命令,帮助用户打造稳定且美观的启动环境,特别适合Linux多系统用户和开发者。

weixin_42553471的博客 590

Android Text View 去掉默认的padding的实现方法

Android Text View 去掉默认的padding的实现方法,简单快捷,一看就懂

Mr_Liangxiaobai的博客 2775

ROS激光雷达动态避障算法优化(C++实战)

本文深入探讨了ROS激光雷达动态避障算法的C++实战优化。针对动态环境的核心挑战,文章系统性地介绍了从激光数据预处理(降噪、瘦身)、动态障碍物检测与跟踪,到基于动态窗口法(DWA)的智能决策与调优的全流程。重点分享了如何将障碍物速度预测融入DWA打分函数,以实现更安全、流畅的避障,并提供了工程架构、性能优化及真机调试的实用建议。

weixin_29192141的博客 940

Android中TextView的使用详情综述

TextView中 对于特殊字符的自动处理 例如  自动识别 网址 电话号码  邮箱等

代码小疯子 3796

基于STM32F103标准库与DMA的实时音频FFT频谱显示系统设计

本文详细介绍了基于STM32F103芯片与DMA技术实现实时音频FFT频谱显示系统的设计方法。通过标准库驱动和FFT算法处理音频信号,结合OLED显示屏实时绘制音乐频谱,涵盖硬件选型、核心原理、开发环境搭建及性能优化等关键步骤,为数字信号处理应用提供实用参考。

yellow的专栏 775

Ubuntu18.04 SoftRoCE安装教程

目标:创建两台Ubuntu18.04虚拟机,安装SoftRoCE环境,一台作为Server,一台作为Client,模拟RDMA通信环境,熟悉RDMA的通信方式。

GGGYL111的博客 1548

Android 调整控件位置和大小(以textView为例,并设置字体与背景颜色)

1:控件调整位置 代码实现:以textview为例 TextView mTextView = new TextView(context); mTextView.setPadding(left, top, right, bottom);// 通过自定义坐标来放置你的控件 或者 TextView mTextView = new TextView(context); RelativeLayo

ws1836300的博客 2万+

scratch经典游戏主题源码分享,包含了20多款经典游戏

经典游戏案例:1、360度角度射击游戏 2、捕鱼达人 3、超级马里奥 4、超级玛丽 5、吃豆人相关 6、穿着喷气背包的海龟 7、大鱼吃小鱼 8、俄罗斯方块 9、飞机大战 10、愤怒的小鸟 11、黄金矿工 12、节奏大师 13、连连看 14、迷宫游戏 15、跑酷游戏 16、扫雷 17、水果忍者 18、坦克大战 19、推箱子 20、消除泡泡 21、保卫萝卜 22、植物大战僵尸

IT_Scratch的博客 1万+

Android TextView的图片和文字居中探索

效果图: TextView图片文字居中实现思路:获取TextView中图片和文字的宽度和高度,并根据TextView的宽高计算居中所需要的偏移量。 实现核心代码: @Override protected void onDraw(Canvas canvas) { if (isTextDrawableCenter) { if (dr...

u010218170的博客 2760

【定位教程2----旋转中心标定之方法一】

【定位教程2----旋转中心标定之方法一】

Quintin 3万+

SKUA-GOCAD入门教程-第七节 点的创建与编辑3

本文介绍了四种从井数据创建点集的方法

江洋大葱的博客 963

android 动态设置padding,Android动态设置控件大小以及设定margin以及padding值

http://www.aichengxu.com/Java/73893.htmAndroid动态设置控件大小以及设定margin以及padding值,有需要的朋友可以参考下。一、概述在android开发了,我们经常会遇到动态添加控件,或许是TextView或者Button之类的,需要设置控件的大小,margin值或者padding值,注意,一般默认的宽是填充父窗体,高为包裹内容;二、实现过程(以T...

weixin_32808853的博客 2555

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android学习细节 — weight margin padding

在实际android app开发中避免不了美工挑剔的各种细节设计,比如这个线框距离上方多了几像素,输入框里的文字距离边框太近了等等繁琐但是影响美观的细节要求。那么究竟这几个需要注意的地方是哪里呢?下面我们来详细分析一下: margin:即外边距。两个组件间的间距,不属于任何组件,是“多余”的部分。对其他组件设置背景对margin区域部分无效。padding:即内边距。围成的区域仍属于原来

jeremy_sky的专栏 1267

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Padding和Margin(动态/静态)

例如下图,输入框里面的文字内容,如果不设置内边距,那么就会紧挨左上角,这样看起来,就很不友好,合理的设置padding看起来会舒服很多。某个View指定为padding是针对该View里面的子View距离该View距离而言的,或者是里面的内容距离容器的距离。例子:在我点击搜索框后,搜索框获取焦点,准备输入内容的时候,图标消失,文本内边距修改,实现代码如下。如果,不设置外边距,会充满整个父布局,也不好看,这时候就需要margin属性(外边距)。一、什么是padding,什么是margin?

chuyouyinghe的专栏 540

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

android自定义View之margin,padding,align

> margin,padding,align align,与指定的组件某位置的边缘进行对齐; margin就是指子控件与外部控件的距离,俗称外边距; padding就是指控件内容与控件边界的距离,俗称内边距。 android:layout_marginxxx的用法是指当前组件距离其父组件在xxx方向上的边距 一个LinearLayout中有一个ImageView,设置ImageVie...

ShareUs的专栏 3628

Android控件布局属性全解

第一类:属性值为true或false android:layout_centerHrizontal 水平居中 (Hrizontal表示水平) android:layout_centerVertical 垂直居中 (Vertiacl表示垂直) android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴...

刘鑫的博客 3006

android控件单位,Android控件相对位置及长度单位

首先讲讲界面布局中的几位置设置参数区别,从下面一个简单的图形来做年对比,A代表我们布局页面中一个ViewGroup,比如是LinearLayout,B代码一个View,比如是Button. android:layout_gravity:此控件相对父控件的相对位置(B相对于A的位置)android:gravity:此控件中的内容相对此控件的相对位置(B中的文字"TextView"在B中的位置)pad...

weixin_33603813的博客 158

android控件的对齐方式,控件布局(顶部、底部)留着自用~~~

android:layout_above 将该控件的底部至于给定ID的控件之上 android:layout_below 将该控件的顶部至于给定ID的控件之下 android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐 android:layout_toRightOf 将该控件的左边缘和给定ID的控件的右边缘对齐 android:layout_alig

sky_plum_blossom的博客 2万+

Android屏幕适配之动态设置单个控件的宽高比例

前言:这个问题出现在我做平板项目的时候,需要横排显示一张图片以及其他控件,如下图:要求图、文各占一半大小,图片的宽高比例目测是1:2。这种情况不适合把高度写死,因为iPad的屏幕大小差异有些大,高度写死图片hin容易变形,因此我们就需要动态去设置这个图片的宽高。正题:首先我们已知图片宽度是屏幕的一半,所以我们只要获取图片的宽度,然后设置高度为宽度的1/2即可。         img.post(n...

Lpy的博客 1548

android studio获取图片大小,Android Studio 中获取屏幕宽度实例

获取整个屏幕的宽度的实例Point p = new Point();//获取窗口管理器WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);wm.getDefaultDisplay().getSize(p);screenWidth = p.x; // 屏幕宽度补充知识:Android屏...

weixin_29173299的博客 671

android入门之布局和控件

Android布局和控件        和java图形化界面编程很相似,布局类似一个容器,上面可以放不同的控件(button之类的),不同的布局决定了控件不同的排列位置。        单位:               px(pixels):也就是像素,屏幕上每一个点就是一个像素点,图片大小经常依次为单位,但是安卓最好不要;因为不同的安卓设备因为像素大小不同,可能会导致布局与期待不同

BeforeEasy的博客 399

安卓APK界面定制实战:从逆向解析到控件交互

本文详细介绍了安卓APK界面定制的全流程,从逆向解析布局文件到控件交互实现。通过Android Studio和APKTool等工具,结合实战案例,帮助开发者快速掌握反编译、布局修改和事件绑定等核心技术,提升第三方应用定制效率。

weixin_30369041的博客 389

android 软键盘的从属关系,Android控件属性大全

控件属性:android属性Android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面这篇文章结合了网上不少资料,第一类:属性值为true或falseandroid:layout_centerHrizontal 水平居中 (Hrizontal表示水平)android:layout_centerVertical 垂直居中 (Vertiacl表示垂直)android:layout_...

weixin_39870132的博客 229

2、Android 基础控件(1)(文本显示和视图基础)

首先确保XML中的宽高属性值为wrap_content,接着打开该页面对应的Java代码,依序执行以下三个步骤: (1)调用控件对象的getLayoutParams方法,获取该控件的布局参数。layout_gravity与gravity的取值包括:left、top、right、bottom,还可以用竖线连接各取值,例如“left|top”表示即靠左又靠上,也就是朝左上角对齐。(1)采用layout_gravity属性,它指定了当前视图相对于上级视图的对齐方式。

weixin_62190821的博客 316
上一篇: Android ExpandableListView单选以及多选实现
下一篇: Android时间选择器的简单实现
不年少还青春
博客等级 码龄13年 5粉丝 22原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值