android控件属性padding
在写android应用时,我们肯定会写布局文件,在写布局文件时,我们经常会使用控件的padding属性.总以为它很简单,也就没有详细的去了解它,今天在写布局文件时,突然发现它并没有那么简单,所以决定去详细的了解一下它.
使用android studio中创建一个项目,直接运行,我们看到的效果如下:
可以看到"Hello World!"字符串距离屏幕的左边、上边,都有一些距离。打开应用的布局文件,我们可以看到如下代码,
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.ysy.mypaddingpropertydemo.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!"/> </RelativeLayout>
父控件是个RelativeLayout,子控件是个TextView。父控件设置了paddingBottom、paddingLeft、paddingRight、paddingTop,四个padding属性。为了好区分父控件和子控件,我们给它们设置不同的背景颜色。
运行效果如下:
我们可以看到,padding值的作用是:让控件里的内容距控件边上有一定的距离;这时候,我就想父控件设置的是paddingBottom、paddingTop、paddingLeft、paddingRight都为16dp,而目前的效果是只看到子控件距上边和左边是16dp,而下边和右边则肯定不是16dp了,这是什么原因呢?我们可以看看布局文件中的代码,TextView的宽高默认设置的是wrap_content,包裹内容;我想这里应该是因为子控件的大小不能填充父控件,导致子控件只能距左边和上边为16dp了,这里我们可以设置子控件TextView的宽高为match_parent,看看效果:
现在我们就可以看到,子控件距父控件的上下左右的边上的距离都为16dp了。
现在我们将父控件paddingBottom、paddingTop、paddingLeft、paddingRight这四个属性改为一个padding属性,因为这四个属性设置的值都为16dp,和设置padding属性为16dp是一样的效果。这时,我们增大设置的值为100dp看看效果:
可以看到子控件被我们缩小了,我就在想,如果我一直增大padding的值,会出现什么效果呢,当我将值增大到150dp时,TextView中的内容变成竖直的了,效果如下:
再将padding值增大到160dp时,整个TextView就都看不到了,(我创建的模拟器的大小是320*480的,当我将padding值设置为160dp时,左边右边的距离都为160dp了,就占据了整个屏幕,所以就看不到TextView了)。
总结:
1)padding值设置的是控件里的内容距控件边上的距离。
2)当控件里面的内容不能占据整个控件时,padding是以左上角为准设置。
3)当paddingBottom、paddingTop、paddingLeft、paddingRight设置的值相同时,可以使用padding属性代替。
4)当padding值设置的大小大于等于屏幕的宽度的一般时,或者paddingLeft+paddingRight大于等于屏幕的宽度时,控件中的内容会被挤的显示不出来。(这里默认认为手机屏幕的宽度小于手机屏幕的高度)
android控件属性padding相关推荐
- android控件属性
android控件属性 控件属性: android属性 Android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面这篇文章结合了网上不少资料, 第一类:属性值为true或false an ...
- 【Android控件属性记录】
#Android 控件属性记录 方便查找 控件属性: android属性 android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面这篇文章结合了网上不少资料, 第一类:属性值为true ...
- android 软键盘的从属关系,Android控件属性大全
控件属性: android属性 Android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面这篇文章结合了网上不少资料, 第一类:属性值为true或false android:layout ...
- Android --- 控件属性的属性值为 @null
1.控件属性值为 @null (1)RadioButton里面的属性android:button="@null" 是去掉前面的圆点 (2)android:background=&q ...
- android控件属性文档,1.Android控件属性收集
最近在做ui方面的工作,收集这些属性方便日后快速查找 @autho: zlw email: 739043667@qq.com 欢迎交流 目录: 一.TextView.EditText 属性 二.Car ...
- 转 安卓控件属性大全
"Android控件属性大全": 关键词:android 控件 属性 大全 控件属性: android属性 android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面 ...
- android system window,Android控件的fitSystemWindows属性
官方描述: 根据系统窗体里的元素比如状态栏来调整View的布局.如果被设为true,控件的padding将会被调整为顶部留出一个statusBar的空间.类似于伪代码paddingTop=" ...
- 【Android】关于Android控件EditText的属性InputType的一些经验
关于Android控件EditText的属性InputType的一些经验 来源:http://blog.163.com/inflexible_simple/blog/static/16769468 ...
- Android中列表框纵向布局,andriod布局常用控件属性..docx
andriod布局常用控件属性. android:gravity="center_vertical" ?限定它里面的内容要垂直居中显示.?android:layout_gravit ...
最新文章
- 数据结构(莫队算法):国家集训队2010 小Z的袜子
- 【Linux 】使用 Shell 批量重命名文件名称
- java中qq中拉伸的文件,delphi中如何实现QQ中的截图并实现拉伸放大移动的功能
- 把握三大计划 抓住ERP项目实施的灵魂
- JVM类加载机制_字节码执行引擎_Java内存模型
- sql1032n sql6048n db2start启动不了 db2修改hostname
- java图片简单爬虫_[Java教程]使用jsoup进行简单的爬虫操作爬取图片
- 词根 sent/sens
- [No000094]SVN学习笔记4-版本库概念与部分日常操作
- [ 数据集 ] MINIST 数据集介绍
- 【Altium Designer10详细安装】
- DCDC基础(10)-- BUCK电路的CCM和DCM模式
- 聊一聊芯片后端的标准单元-standard cell
- SUG 180 Inversions(树状数组+离散化)
- Tomcat启动项目出现 javax.el.ELException
- X11 Wayland 及 Mir 比较
- 微信公众号、微信号、微信文章爬虫(搜狗搜索)
- 干货|什么是字节码?字节码扩展名是什么?
- flinksql实时读取kafka写入mysql
- Unity3d C#通过使用大华SDK控制大华摄像头旋转、变焦等云台操作和预置点等控制操作(含源码)
热门文章
- js文本框设置必填项_Jquery文本框小例(必填框)
- 百度率先在元宇宙举办大会,李彦宏:中国迎来AI黄金十年
- Matlab:常用命令大全
- 2019年“华为杯”研究生数学建模比赛总结
- Linux Overview
- “百度+创维”强力破局家电产业:中国AI大屏奇点临近
- 不懂envoyfilter也敢说精通istio系列-ratelimit-istio ratelimit完全手册
- 关于“产品驱动”和“技术驱动”
- 云栖大会倒计时,17个精彩的故事与你一起等待!
- laradock 安装使用 kafka