1.ListView允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚动出屏幕。
2.数组中的数据无法直接传递给ListView,得借助适配器来完成。此处使用ArrayAdapter,通过泛型来指定要适配的
数据类型->在构造函数中把要适配的数据传入。
3.ArrayAdapter有多个构造函数的重载,由于提供的数据是字符串,故将ArrayAdapter的泛型指定为String,接着在该构造函数
中依次传入当前上下文,ListView子项布局的id,以及要适配的数据。
4.使用android.R.layout.simple_list_item_1作为ListView 子项布局的id,这是一个Android内置的布局文件,里面只有一个TextView,
可用于简单地显示一段文本。
5.最后,调用ListView的setAdapter()方法,将构建好的适配器对象传递进去,则ListView和数据之间的关联建立完成。
6.getView()方法中有一个convertView参数,该参数用于将之前加载好的布局进行缓存,方便以后重用。
7.为提升ListView的运行效率,在getView()方法中进行判断,(1)如果convertView为空,则使用LayoutInflater去加载布局,(2)
如果不为空,则直接对convertView进行重用。
8.新增一个内部类ViewHolder,用于对控件的实例进行缓存。(1)当convertView为空时,创建了一个ViewHolder对象,将控件的实例
都存放在ViewHolder里->调用View的setTag()方法,将ViewHolder对象存储在View中。(2)当convertView不为空时,调用View的
getTag()方法,把ViewHolder重新取出。如此,所有控件的实例都缓存在ViewHolder里,则没有必要每次都通过findViewById()方法
来获取实例。
9.在布局文件中指定宽高的固定值:px, pt, dp, sp。
(1)px是像素的意思,即屏幕中可以显示的最小元素单元。(2)pt是磅数的意思,1磅等于1/72英寸,一般pt作为字体的单位使用。
###同样200px宽的按钮在不同分辨率的屏幕上显示的效果完全不同,pt的情况和px差不多,这导致这两个单位在手机领域上很难有
作为。
(3)dp是密度无关像素的意思,被称作dip,和px相比,在不同密度的屏幕中显示比例一致。(4)sp可伸缩像素,采用了和dp同样的
设计理念,解决文字大小的适配问题。
10.Android中的密度即屏幕每英寸所包含的像素数,常以dpi为单位。eg.如一个手机屏幕的宽是2英寸长是3英寸,若分辨率是320*480
像素,则密度就为160dpi。密度值越高的屏幕显示的效果就越精细。
11.总结:编写Android程序时,尽量将控件或布局的大小指定成match_parent或wrap_content,若必须指定一个固定值,则使用dp来
作为单位,指定文字大小的时候使用sp作为单位。

《第一行代码》学习笔记15-UI(4)的更多相关文章

  1. 第一行代码阅读笔记---AndroidMainfest.xml分析

    按照这本书的指引,我随作者一样创建了一个安卓应用,开始了安卓开发的启程. 找到AndroidMainfest.xml这个文件,打开后看到了我创建的Activity在这个文件里被成功注册,文件内容如下: ...

  2. 《Android第一行代码》笔记

    学习Android开发差点儿相同有两年时间了.期间也做了大大小小的一些项目.近来抽出闲暇想把Android基础强化一下,之前在网上看到了郭霖郭大神的几篇博客.从中受益不少.于是花了近一周时间看完了郭神 ...

  3. 第一行代码阅读笔记----显示隐式Intent的基本用法

    1.显示Intent意图明显,通过Intent启动另外一个活动,这是安卓中各组件进行交互的一种重要方式.一般用于启动活动,启动服务,发送广播等场景. 实现方法,这里我只说思路,实践还是要自己实操才能明 ...

  4. 第一行代码阅读笔记---详解分析第一个Android程序

    以下是我根据作者的思路,创建的第一个Android应用程序,由于工具强大,代码都自动生成了,如下: package com.example.first_app; import android.os.B ...

  5. python学习笔记1--python简介和第一行代码编写

    一.什么是python? python是一种面向对象,解释型语言,它语法简介,容易学习.本节博客就来说说本人学习python的心得体会. 二.python环境安装 目前python版本有python2 ...

  6. 通过《第一行代码》学习 Android 开发

    第一行代码 Android --第 2 版-- 郭霖 著 第 1 章:开始启程--你的第一行 Android 代码 •1.2 手把手带你搭建开发环境  Android Studio 的安装及配置  A ...

  7. 20172327 2018-2019-1 《第一行代码Android》第一章学习总结

    学号 2018-2019-1 <第一行代码Android>第一章学习总结 教材学习内容总结 - Android系统架构: 1.Linux内核层 Android系统是基于Linux内核的,这 ...

  8. 【java学习系列】 Android第一本书《第一行代码》

    开始Java的学习,从Android,开始吧.<第一代码>开始阅读和调试demo例子. 下面是 <第一行代码>的思维导图:

  9. 学习资料分享(Java第一行代码视频)<susmote.com>

    17年买了一本书,第一行代码(JAVA),李兴华编写的. 一开始我是按照书本一页一页的啃,一个点一个点的去学,虽然当时学的有些枯燥,但里面的知识点大部分还是弄的懂,只是一次偶然,因为有点质疑书上写的( ...

  10. 20172327 2018-2019-1 《第一行代码Android》第二章学习总结

    学号 2017-2018-2 <第一行代码Android>第二章学习总结 教材学习内容总结 - 活动是什么: 活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件 ...

随机推荐

  1. Android -------- 网络访问数据

  2. IPointCollection,ISegmentCollection和IGeometryCollection

    Engine 提供了三个主要的几何图形集合接口用于对几何对象的操作,分别是 IPointCollection,ISegmentCollection 和 IGeometryCollection,这些接口 ...

  3. 第1章 网络编程基础(3)——基本Socket通信

    服务器常用模型

  4. .attr()和.prop()和.css()的区别

    是不是新手都会遇到这个问题?遇到过一次,在网上搜一搜,综合成了下面这样.重点参考了dolphin的‘jQuery的attr与prop’, 写的很清楚呢. 一般attribute翻译成中文术语为“特性” ...

  5. 将含有父ID的列表转成树

    我们知道数据库一般是以一个列表(id,pid)的形式保存树的.如何提取这棵树呢?最简单的方法就是根据pid循环查表.但是毫无疑问,这会产生巨大的数据库查询开销. 那么一般建议的方法是一次性将全部相关数 ...

  6. php 输出昨天,今天,明天是星期几的方法

    <?php //php判断某一天是星期几的方法 function getWeek($unixTime=''){ $unixTime=is_numeric($unixTime)?$unixTime ...

  7. android ioctl fuzz,android 本地提权漏洞 android root

    目前正在研究android 三方设备驱动 fuzzer , 也就是下图所说的 ioctl fuzzing, 下图是由keen team nforest 大神发布: 欢迎正在研究此方面的人联系我共同交流 ...

  8. 解决“您必须先更新GOOGLE play才能运行此应用”的问题

    可以手机FQ然后更新,但是这样更新速度很慢,而且google商店上面的版本还是老版本. 正确的方法:去https://www.pushbullet.com/channel-popup?tag=am21 ...

  9. ural 1017. Staircases

    http://acm.timus.ru/problem.aspx?space=1&num=1017 #include <cstdio> #include <cstring&g ...

  10. 【操作系统】进程间通信(C#)

    原文:[操作系统]进程间通信(C#) 08年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大学生活.此系列是对四年专业课程学习的回顾,索引参见:http://blog.csdn.net/xia ...