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. 华为 oj 表示数字(代码有参考)理解算法设计

    虽然是初级题目,但是 也不是太容易就做出来的 还是用c++ 好些 因为c++ string 是可以存储到缓冲区的, 字符串长度可以变化 参考了某神的代码 和我的思路一样 ,就拿来主义了,挺经典的一道面 ...

  2. Codeforces Round #318(Div 1) 573A, 573B,573C

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud 这场的前两题完全是手速题...A题写了7分钟,交的时候已经500+了,好在B题出的 ...

  3. Qt之信号连接,你Out了吗?

    在遇到多信号问题的时候,你是否经常会连接多个槽函数呢?如果你的答案是绝对的,那么你已经Out很久了.多信号连接多个槽,实现不同的槽就在潜意识的加大程序的开销!那么为什么不去链接同一个槽呢?     今 ...

  4. Struts2 过滤器与拦截器

    学习Struts2时,发现有过滤器和拦截器,他们貌似都是一样的功能,但是为什么会有2个不同的名称呢?肯定是有区别的,所以打算自己整理一下. 过滤器,是在java web中,你传入的request,re ...

  5. 深入了解session

    session在web开发中是一个非常重要的概念,这个概念很抽象,很难定义,也是最让人迷惑的一个名词,也是最多被滥用的名字之一,在不同的场合,session一次的含义也很不相同.这里只探讨HTTP S ...

  6. CentOS下安装JDK6u21和设置环境变量bin文件

    1.先通过SSH登录到Linux系统中,通过SSH文件管理工具把Linux的JDK安装包上传到/home/acm/JavaTools/JDK目录: 2.进入/home/acm/JavaTools/JD ...

  7. Keil的可重定位段

    对于一个大的文件,为了便于管理,一个好的办法时把一个大文件分为若干个小文件,每个小文件包含一部分相关的功能,这样功能将显得很整洁,而且移植到其它工程的时候也很方便,把文件copy过去即可. 对于汇编, ...

  8. JAVA语言学校的危险性

    Java语言学校的危险性(译文) 作者: 阮一峰 日期: 2008年12月 7日 下面的文章是More Joel on Software一书的第8篇. 我觉得翻译难度很大,整整两个工作日,每天8小时以 ...

  9. c#类和结构体的关系

    原文地址:http://www.dnbcw.com/biancheng/c/fvhc81798.html 简介:这是c#类和结构体的关系的详细页面,介绍了和c/c++,有关的知识,谢谢大家的观看!要查 ...

  10. 揭开枚举类的面纱(Unlocking the Enumeration/enum Mystery)

    枚举给用户定义固定数据组提供了方便.枚举类就是一系列常量整型值,这也就意味着枚举类型不能被修改. 这里我们将要讨论C语言中枚举类型的用法和限制. 枚举通过枚举关键值定义,类似结构体定义 语法(Synt ...