[android](学习笔记2)深入xml布局属性

1 布局参数

部分属性名以“layout_”开头,如android:layout_marginLeft,而其他属性名称则不是。

名称不以“layout_”开头的属性作用于组件。组件生成时,会调用某个方法按照属性及属性值进行自我配置;

名称以“layout_”开头的属性则作用于组件的父组件。并称这些属性为布局参数。它们负责告知父组件如何在内部安排自己的子组件。也就是说,只要包含布局参数,就说明它有自己的父组件。

2 内边距和外边距

内边距:android:padding

外边距:android:layout_marginXXX

如第一点中描述的,外边距是要告诉父组件,在布局子组件的时候,某个边缘间距多少。内边距的含义是,在绘制自身时,要比所含内容大多少。

3 为默认生成的布局添加对应的水平模式

当屏幕旋转的时候,默认生成的布局会发生相应的旋转,但是机械地对部分组件进行拉伸和重新调整自己和自己的子组件。如何根据自己的需要有效地对水平模式的布局进行调整?要实现这一点,可以尝试如下步骤:

  1. 需创建res/layout-land目录,将res/layout目录下的布局文件复制至res/layout-land目录;
  2. 通过变更res/layout-land目录下的布局文件,达到自主修改水平布局的目的。

4 android:layout_weight属性的工作原理

该属性告知LinearLayout(父组件)如何进行子组件的布置排布。在决定子组件视图的显示宽度时,LinearLayout使用的是layout_weight和layout_width的混合值。主要分以下两步完成:

  1. LinearLayout查看layout_width属性值(垂直方向查看layout_height属性值)。假设当前有一个水平的LinearLayout,其中包含了两个子组件:Button和CheckBox,并且它们显示的文字信息长度不同,并且它们在各自wrap_content的情况下,不能填充整个LinearLayout,依次排布之后还有额外的空间(extra space)。
  2. LinearLayout检查layout_weight属性值。依据layout_weight属性值,LinearLayout把额外的空间,按照比例分配给每一个子组件。
时间: 2024-12-21 17:26:23

[android](学习笔记2)深入xml布局属性的相关文章

Android学习笔记(九)——布局和控件的自定义

//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! View是 Android中一种最基本的 UI组件,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件,因此,我们使用的各种控件其实就是在 View的基础之上又添加了各自特有的功能.而ViewGroup 则是一种特殊的 View,它可以包含很多的子 View和子 ViewGroup,是一个用于放置控件和布局的容器.系统默认的所有控件都是直接或间接继承自 View 的,所用的所有布局都是直接或间接继承自 Vie

Android学习笔记六:六大布局

六大界面布局方式包括: 线性布局(LinearLayout).帧布局(FrameLayout).表格布局(TableLayout).相对布局(RelativeLayout).绝对布局(AbsoluteLayout)和网格布局(GridLayout) . 1. LinearLayout线性布局 LinearLayout容器中的组件一个挨一个排列,通过控制android:orientation属性,可控制各组件是横向排列还是纵向排列. LinearLayout的常用XML属性及相关方法 XML属性

Android学习笔记之AndroidManifest.xml文件解析

一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置. 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)

[转载] Android学习笔记之AndroidManifest.xml文件解析

一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置. 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)

Android学习笔记之AndroidManifest.xml文件解析(转)

//自已备注: <?xml version="1.0" encoding="utf-8"?>//说明了版本号,字符集 <manifest xmlns:android="http://schemas.android.com/apk/res/android"//定义android命名空间 package="com.example.helloworld"//包名 android:versionCode="

Android学习笔记之AndroidManifest.xml文件解析【转载地址:http://www.cnblogs.com/pilang/archive/2011/04/20/2022932.html】

一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置. 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)

Android学习笔记(七) 布局基础

一.概念 控件布局方法,就是指控制控件在Activity当中的位置.大小.颜色以及其他控件样式属性的方法.有两种方法可以控制布局: 在布局文件(xxx.xml)中完成控件的布局. 在JAVA代码中完成控件布局. 二.分类 (其中RelativeLayout和ListView最为常用) 设置宽.高的两个重要参数:wrap_content(内容包裹).match_parent(填充).

Android学习笔记之Menu的ShowAsAction属性的设置

(1)在res--menu目录下的main.xml文件 <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/file" android:orderInCategory="100" android:showAsAction="always" android:title="文件

android学习笔记之ImageView的scaleType属性

我们知道,ImageView有一个属性叫做scaleType,它的取值一共同拥有八种,各自是:matrix,fitXY.fitStart,fitCenter.fitEnd,center,centerCrop.centerInside. 那我们以下一起来看看这八种取值分别代表什么意思. 我用两张图片来做demo,这两张图片的分辨率一大一小,图片分别叫做big和small.原图例如以下: big: small: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ

Android学习笔记——SAX解析XML

XML数据源: <?xml version="1.0" encoding="utf-8"?><WeatherWindow>    <updated>2015-09-08 20:00:00</updated>    <region><![CDATA[上海]]></region>    <today>        <condition><![CDATA[晴