位置: IT常识 - 正文

Android 设置Padding和Margin(动态/静态)(android 设置按钮颜色)

编辑:rootadmin
Android 设置Padding和Margin(动态/静态) 一、什么是padding,什么是margin?

推荐整理分享Android 设置Padding和Margin(动态/静态)(android 设置按钮颜色),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android 设置静态ip,android 设置button形状,android 设置字体大小,android 设置dns,android 设置系统语言,android 设置为默认桌面应用,android 设置系统语言,android 设置系统语言,内容如对您有帮助,希望把文章链接给更多的朋友!

在Android界面开发时,为了布局更加合理好看,很多时候会用上Padding和Margin,

padding和margin是什么呢?即内边距和外边距;

某个View指定为padding是针对该View里面的子View距离该View距离而言的,或者是里面的内容距离容器的距离。

某个View指定为margin是针对该View本身距离别人或者父View而言的。

例如下图,输入框里面的文字内容,如果不设置内边距,那么就会紧挨左上角,这样看起来,就很不友好,合理的设置padding看起来会舒服很多。

如果,不设置外边距,会充满整个父布局,也不好看,这时候就需要margin属性(外边距)。

Android 设置Padding和Margin(动态/静态)(android 设置按钮颜色)

 类似于控件的基础属性,并且不会变化的,我们一般会直接在xml文件里直接设置,这是上图的布局代码

<androidx.appcompat.widget.AppCompatEditText android:id="@+id/chat_input_edit" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginStart="10dp" android:layout_marginTop="10dp" android:layout_marginEnd="10dp" android:layout_marginBottom="10dp" android:paddingHorizontal="12dp" android:paddingVertical="10dp" android:textColor="@color/white" android:textColorHint="#94ffffff" android:textSize="14sp" /> 二、动态设置边距

那么怎么动态设置padding和margin呢?其实也很简单。

1.设置padding

view.setPadding(int left, int top, int right, int bottom)//view为你要设置的控件

例子:在我点击搜索框后,搜索框获取焦点,准备输入内容的时候,图标消失,文本内边距修改,实现代码如下

editText.setOnFocusChangeListener { view, b -> if (b) {//使用dp2px方法进行屏幕适配 view.setPadding(DPUtils.dp2px(12f),DPUtils.dp2px(6f),DPUtils.dp2px(12f),DPUtils.dp2px(6f)) searchIcon.visibility = View.GONE } }

实现效果:最开始文本里左边内边距32dp,点击后变成12dp

//这是dp转为px的方法private fun dp2px(i: Int): Int { return (Resources.getSystem().displayMetrics.density * i + 0.5f).toInt()} 

为什么会有dp2px这个方法来转一下呢?

android中px与sp,dp之间的转换_跑快点的博客-CSDN博客_android px sp由于Android手机厂商很多,导致了不同设备屏幕大小和分辨率都不一样,然而我们开发者要保持在不同设备上显示同样的视觉效果,就需要做一些适配效果。 相关名词解释 屏幕大小:通常指的是屏幕对角线的长度,使用“寸”为单位来衡量。 分辨率:指手机屏幕的像素点个数,例如:720*1280,指的是宽有720个像素点,高有1280个像素点。 dpi:指的是每英寸像素,是由对角线上的像素点数除以屏幕大小所https://blog.csdn.net/qidingquan/article/details/53714603?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-4-53714603-blog-91974773.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-4-53714603-blog-91974773.pc_relevant_default&utm_relevant_index=92.动态设置margin

android的view中有setPadding,但是没有直接的setMargin方法。如果要在代码中设置该怎么做呢?可以通过设置view里面的 LayoutParams 设置,而这个LayoutParams是根据该view在不同的GroupView而不同的。这儿用的是RelativeLayout是因为在他的父布局是RelativeLayout哦,用成其他的会报错哦~~

val lp = RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT)lp.setMargins(0, 0, DPUtils.dp2px(7f), DPUtils.dp2px(7f))//RelativeLayout可以通过LayoutParams的addRule来添加约束,其他的布局也有类似的一些方法lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM)lp.addRule(RelativeLayout.ALIGN_PARENT_END)textView.layoutParams = lp
本文链接地址:https://www.jiuchutong.com/zhishi/269917.html 转载请保留说明!

上一篇:玩网页游戏卡怎么办?(网页游戏玩着卡)

下一篇:macos monterey支持机型(macos monterey支持哪些显卡)

  • 增值税纳税申报时间
  • 应交增值税二级科目借贷方向
  • 报废固定资产可以收定金吗合法吗
  • 项目奖金个人所得税怎么算
  • 人力资源公司可以接保安业务吗
  • 汇算清缴所得税补缴怎么处理
  • 煤矿企业维简费税务规定
  • 货币形式投资的特点是
  • 买一赠一视同销售征收增值税吗
  • 个体工商户收到发票怎么做账
  • 因小数点造成的误差称为
  • 黄金珠宝加工怎么样
  • 注册资本金应该编入政府性基金预算吗
  • 纳税人发生纳税义务,未按照规定
  • 新成立公司注资流程
  • 非公司员工可以交社保吗
  • 合作社未按时报税怎么处理?
  • 融资租赁抵押车辆逾期收车
  • 需要自己到税务局自行申报个人所得税的纳税人有哪些?
  • 收据是否当月入帐
  • 微软输入法打不出汉字只有拼音
  • php数组函数实现机选双色球
  • 企业职工工伤赔偿标准
  • 无法访问windows installer服务,没有正确安装
  • 分期付款买车的利息会计分录
  • php爬虫源码
  • 企业如何转让
  • 浅谈php表单提交的问题
  • 长期借款业务会亏损吗
  • vue中使用md5加密
  • 微信开发怎么实现
  • vue清空form数据再重新赋值
  • ai引领技术变革是什么
  • traceroute命令详解
  • 旅游业发票的税率是多少
  • 出口抵减内销产品应纳税额怎么结转
  • 进项不认证有什么风险
  • 银行承兑汇票收费标准
  • 公司缴纳社保应该怎么做账
  • 阿里云ecs重装
  • MySQL查看最大连接数
  • MongoDB aggregate 运用篇个人总结
  • 借款的帐务处理?
  • 三方合同如何解除
  • 公司没有收入怎么办
  • 汇算清缴里的账户是什么
  • 购买金税盘抵税会计分录
  • 哪些发票可以报销哪些不可以
  • 建筑企业如何按季度申报
  • 以前年度的银行流水可以补进来做账嘛
  • 财务报告分析主要内容
  • 原材料转固定资产账务处理
  • 突然收到财付通转出的钱
  • 没进项发票开销项发票可以吗?
  • 管理费用包括哪些税
  • 费用票可以抵扣多少企业所得税
  • 产品成本包括哪几个部分
  • 小规模纳税人如何计算增值税
  • MySQL 5.7.18 release版安装指南(含有bin文件版本)
  • 如何在mysql显示当前用户
  • 详述社会体育学科的研究对象
  • fedoral
  • 同一个用户
  • 进程dwm
  • Win7如何调整分辨率
  • msstat.exe - msstat是什么进程 有什么用
  • win7旗舰版升级win10
  • Perl的Mail::POP3Client模块和Gmail通信实例
  • jquery mobile
  • shell中echo命令详解
  • js实现返回顶部
  • unity加密代码
  • js设计模型
  • 辽宁省国家税务总局
  • 地税是地方税吗
  • 中国地税国税
  • 进项发票勾选认证如何导出明细
  • 五险一金和公积金冲突吗
  • 重庆市九龙坡税务局行政服务中心电话
  • 利润表中所得税费用包括
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设