位置: 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支持哪些显卡)

  • 剪映如何提取字幕(剪映如何提取字幕变成音频)

    剪映如何提取字幕(剪映如何提取字幕变成音频)

  • 微信怎么关闭服务密码(微信怎么关闭服务人脸识别)

    微信怎么关闭服务密码(微信怎么关闭服务人脸识别)

  • 拼多多钱付了没人拼单怎么办(拼多多钱付了没人拼单商家怎么办)

    拼多多钱付了没人拼单怎么办(拼多多钱付了没人拼单商家怎么办)

  • DVD无法复制到U盘(为什么dvd光盘复制不了u盘上)

    DVD无法复制到U盘(为什么dvd光盘复制不了u盘上)

  • 手机wps怎么做作文格式(手机wps做作文格子)

    手机wps怎么做作文格式(手机wps做作文格子)

  • keep可以在电脑上用吗(keep可以在电脑播放吗)

    keep可以在电脑上用吗(keep可以在电脑播放吗)

  • 台积电是啥(台积电啥时候恢复华为供货)

    台积电是啥(台积电啥时候恢复华为供货)

  • 微信没有转账图标消失(微信中没有转账)

    微信没有转账图标消失(微信中没有转账)

  • 库乐队有什么用(苹果14的库乐队有什么用)

    库乐队有什么用(苹果14的库乐队有什么用)

  • 微信设备管理删了还能恢复吗(微信设备管理删了还能登录)

    微信设备管理删了还能恢复吗(微信设备管理删了还能登录)

  • 华为推送服务是什么(华为手机里推送服务是什么意思)

    华为推送服务是什么(华为手机里推送服务是什么意思)

  • 怎样发定位图(地图定位怎么设置)

    怎样发定位图(地图定位怎么设置)

  • icloud退出不了怎么办(apple icloud退出不了)

    icloud退出不了怎么办(apple icloud退出不了)

  • 校园网属于什么网络类别(学校的校园网属于什么)

    校园网属于什么网络类别(学校的校园网属于什么)

  • 微信只有听筒没有扬声器设置怎么办(为什么微信只有听筒)

    微信只有听筒没有扬声器设置怎么办(为什么微信只有听筒)

  • ipad2卡槽怎么开(ipad2如何插卡)

    ipad2卡槽怎么开(ipad2如何插卡)

  • oppo怎么设置桌面插件(oppo怎么设置桌面时间显示)

    oppo怎么设置桌面插件(oppo怎么设置桌面时间显示)

  • 打印机编号在哪个位置(打印机编号在哪里查)

    打印机编号在哪个位置(打印机编号在哪里查)

  • 微信怎么提现(微信怎么提现到银行卡没有手续费)

    微信怎么提现(微信怎么提现到银行卡没有手续费)

  • 爱奇艺主设备非本机怎么回事(爱奇艺非主设备可以看主设备)

    爱奇艺主设备非本机怎么回事(爱奇艺非主设备可以看主设备)

  • vivoiqoo防水吗(VIVOiqoo防水吗)

    vivoiqoo防水吗(VIVOiqoo防水吗)

  • k3电池容量(oppok3电池容量)

    k3电池容量(oppok3电池容量)

  • gtx是什么牌子的显卡

    gtx是什么牌子的显卡

  • 快手直播如何转播电影(快手直播如何转播视频)

    快手直播如何转播电影(快手直播如何转播视频)

  • 小程序怎么自定义导航栏,导航栏放图片、设置高度(小程序怎么自定义tabbar)

    小程序怎么自定义导航栏,导航栏放图片、设置高度(小程序怎么自定义tabbar)

  • 销项税减去进项税
  • 小规模纳税人500万以内免税
  • 报税申报不了
  • 多缴纳了印花税有什么影响
  • 预提费用在资产负债表里写在哪
  • 目前哪些费用不能加计扣除
  • 社会团体财政票据管理制度
  • 部分红冲的发票,剩余未冲红部分可以再红冲么
  • 铁路大票抵扣几个点
  • 建筑 分包
  • 物业公司开场地租赁费发票编码
  • 独立核算分公司注销需要清算吗
  • 股权转让金是什么意思
  • 购买设备的增值税是支出吗
  • 下个月的发票可以报销上个月的费用吗
  • 小规模季度超过30万是全额纳税吗
  • 发票金额是价税价格吗
  • 发票查询显示无数据怎么回事
  • 怎样预交增值税
  • 保险公司赔偿计入营业外收入
  • 诉讼费和保全费什么时候能退还
  • 委托加工物资手续费
  • 国有资产拍买网
  • 员工购买公司股权
  • 公司成立之后有人投资怎么做分录?
  • 固定资产清理账户结构
  • 金税盘发行后什么时候可以用
  • 工程前期咨询收费标准
  • 关于工程施工的文章
  • 电脑自动更新系统
  • 在途物资退货会退款吗
  • 电脑开不了机一直重启
  • 以商业汇票抵付应付账款会计分录
  • 增值税的计税依据包括契税吗
  • Vue3 & app.use 与 install 函数的作用
  • 二手房交易需缴哪些税
  • 堪察加半岛上的汉族人
  • 累计折旧在贷方还是借方
  • 印花税申报时间填错了怎么处理?
  • 母公司破产子公司债权人申报
  • 金融资产发生的相关费用计入初始入账金额有那些
  • 汇算清缴涉及哪些调整
  • 给中间人回扣犯罪吗
  • 公司开一般户需要多久
  • 新的事业单位财务规则对医院运用的变化
  • SQL 联合查询与XML解析实例详解
  • 承兑汇票大回头是什么意思
  • 月底留抵税额需要结转吗
  • 预充值发票可以报销吗
  • 增值税减免附什么凭证
  • 待报解预算收入怎么做分录
  • 建筑工程人工费包括哪些内容
  • 买个人的二手车能贷款吗
  • 企业租车流程
  • 坏账准备贷方表示什么
  • 以前年度多计提了费用
  • 费用报销如何做账务处理分录
  • 公司营运成本
  • 会计做账工作总结
  • SQLServer:探讨EXEC与sp_executesql的区别详解
  • sql server数据库数据备份
  • sql server的go
  • 盘符在哪
  • 进程rundll32停止工作
  • windows8鼠标点击右键反应慢咋回事
  • win10通讯
  • xp升win10教程
  • json的parseobject
  • css可继承
  • vue异步加载第三方库
  • js中鼠标经过事件
  • js拖拽元素到另一个元素
  • angular keyup
  • unity控制组件开关
  • 对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
  • jquery全局变量和局部变量
  • 全面解析少女时代关系
  • 江西省电子税务局公众查询
  • 河南网上税务局app下载
  • 个人所得税税收完税证明哪里打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设