美文网首页
Android编程权威指南读书笔记 - 第八章

Android编程权威指南读书笔记 - 第八章

作者: 武当霍元甲 | 来源:发表于2019-12-01 16:54 被阅读0次

第八章:使用布局与组件创建用户界面

8.4 深入探讨XML布局属性:

8.4.1 样式、主题及主题属性:

样式style是XML资源文件,含有用来描述组件行为和外观的属性定义。

例如,下列样式资源能够配置组件,让其显示的文字大小大于正常值:

<style name=“BigTextStyle”>

<item name=“android:textSize”>20sp</item>

<item name=“android:padding”>3dp</item>

</style>

我们可以创建自己的样式文件,保存在res/values/目录下即可,然后在布局文件中以@style/my_own_style样式引用。

style=“?android:listSeparatorTextViewStyle”就是使用了系统主题属性的引用。(就是告诉Android运行资源管理器:在应用主题里找到名为listSeparatorTextViewStyle的属性。

8.4.2 dp、sp以及屏幕像素密度

最常见的属性有:

1、文字大小(text size),指定设备上显示的文字像素高度;

2、边距(margin),指定视图组件间的距离

3、内边距(padding),指定视图外边框与其内容间的距离

Android提供了密度无关的尺寸单位,使用这些单位,可在不同屏幕密度的设备上获得相同的尺寸。无需进行麻烦的转换计算,应用运行时,Android会自动将这种单位转换成像素单位。

dp:密度无关像素,无论屏幕密度如何,总能获得相同的尺寸。

sp:缩放无关像素,这种像素会受用户字体偏好设置的影响。通常我们会使用sp来设置屏幕上的字体大小

pt、mm、in:不建议使用,并非所有设备都能按照这些单位进行正确的尺寸缩放配置。

8.4.4 布局参数:

以layout_开头的属性作用于组件的父组件,我们将这些属性统称为布局参数,他们会告诉父布局如何在内部安排自己的子元素。

8.4.5 边距与内边距(margin与padding)

8.5 使用图形布局工具。

我们使用Design标签页打开fragment_crime.xml文件。

8.5.6 layout_weight属性的工作原理 两个组件设置了同样的值,但这并不意味着他们在屏幕上占据相同的宽度。LinearLayout依据layout_weight属性值进行额外的空间分配。如果weight相同,则他们均分了同样大小的额外空间(而不是尺寸相同)

如果想平均分配,则把layout_width设置为0dp即可。

如果一个组件只存在于一个布局上,则应先在代码中进行空值检查:

Button lanscapeOnlyButton = (Button)v.findViewById(R.id.landscapeOnlyButton);

if (landscapeOnlyButton != null) {

// set it up

}

注意:定义在水平或竖直布局文件中的同一组件必须具有同样的android:id属性。

相关文章

网友评论

      本文标题:Android编程权威指南读书笔记 - 第八章

      本文链接:https://www.haomeiwen.com/subject/ttazwctx.html