[Android][第一行代码][第 3 章 View]
来源:互联网 发布:银泰证券股票交易软件 编辑:程序博客网 时间:2024/05/17 02:28
01. Button
这里主要记录一下,在布局文件里面给 Button 设置的文字是“Button”,但是最终的显示结果却是“BUTTON”,小写变大写。这是由于系统会对 Button 中的所有英文字母自动进行大写转换,使用以下代码禁止这一默认特性:
android:textAllCaps="false"
其次,给按钮设置点击事件应该有四种方式。
02. 可见属性
通过 android:visibility 进行指定
- visible 可见。
- invisible 不可见,但仍然占据着原来的位置和大小,变成透明状态了。
- gone 不可见,而且不再占用任何屏幕空间。
03. 布局
LinearLayout 线性布局
- LinearLayout 的默认方向是
horizontal
android:layout_weight
属性的计算方法,对剩余空间按比例分配android:layout_gravity="center"
与android:gravity="center"
两者之间的区别
- LinearLayout 的默认方向是
RelativeLayout 相对布局
android:layout_centerInParent="true"
android:layout_alignParentLeft="true"
android:layout_above="@id/bt_center"
android:layout_below="@id/bt_center"
android:layout_toLeftOf="@id/bt_center"
android:layout_alignLeft="@id/bt_center"
android:layout_alignBottom="@id/bt_center"
android:layout_alignBaseline="@id/bt_center"
FrameLayout 帧布局
- 一层一层的覆盖
PercentRelativeLayout 和 PercentFrameLayout 百分比布局
由于
LinearLayout
本身已经支持按比例指定控件的大小,因此百分比布局只为RelativeLayout
和FrameLayout
进行了功能扩展。不再使用
wrap_content
和match_parent
而是直接指定百分比。
<android.support.percent.PercentRelativeLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"> <Button android:id="@+id/bt_center" android:layout_centerInParent="true" android:text="Center" android:textAllCaps="false" app:layout_heightPercent="20%" app:layout_marginPercent="5%" app:layout_widthPercent="20%" /> </android.support.percent.PercentRelativeLayout>
04. ViewGroup 图
- 所有控件都是直接或者间接继承自 View 的。
- 所有布局都是直接或者间接继承自 ViewGroup 的。
- View 是 Android 中最基本的一种 UI 组件,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件。
- ViewGroup 是一种特殊的 View,它可以包含很多子 View 和子 ViewGroup,是一个用于放置控件和布局的容器。
05. 自定义控件
- 引入布局,使用
<include>
标签引入一个已经写好的布局。 - 注意: 获取上下文使用
getContext()
方法。 - 注意: 加载布局使用
LayoutInflater.from(context).inflate(R.layout.inclue_title, this);
注意 第二个参数 - 最简单的自定义控件,查看代码即可。
06. ListView
- 适配器有多种,简单的使用
ArrayAdapter
。 - 掌握使用
ViewHolder
进行复用来提升运行效率。 - 点击事件的基本使用。
07. RecyclerView
注意在使用的时候需要先设置
布局管理器
。为什么 ListView 很难或者根本无法实现的效果在 RecyclerView 上这么轻松就能实现?这主要得益于 RecyclerView 出色的设计。ListView 的布局排列是由自身去管理的,而 RecyclerView 则将这个工作交给了 LayoutManager,LayoutManager 中制定了一套可扩展的布局排列接口,子类只要按照接口的规范来实现,就能定制出各种不同排列方式的布局了。
RecyclerView 并没有提供像样的点击事件,其实,ListView 的在点击事件上的处理并不人性化,
setOnItemCLickListener()
方法注册的是子项的点击事件,但如果想点击的是子项里具体的某一个按钮呢?虽然 ListView 也能做到,但是实现起来就相对比较麻烦了。为此,RecyclerView 干脆直接摒弃了子项点击事件的监听,所有的点击事件都由具体的 View 去注册,就再没有这个困扰了。int position = viewHolder.getAdapterPosition();
08. 界面最佳实践
- 点九图片
Nine-Patch
的相关知识和使用。- 在上边框和左边框绘制的部分表示当图片需要拉伸时就拉伸黑点标记的区域。
- 在下边框和右边框绘制的部分表示内容会被放置的区域。
- 使用鼠标在图片的边缘拖动就可以进行绘制。
- 按住
shift
键拖动可以进行擦除。
RecycleView
数据更新。
09. 小结
屏幕适配相关知识。慕课网 Android-屏幕适配全攻略。
Android Studio 中的 drawable-xhdpi 和 mipmap-xhdpi 文件夹的区别及使用。
EditText 使用时候软键盘的弹起和收起监听。
ImageView 使用时候的有三个属性需要注意
android:src="@mipmap/ic_launcher"android:background="@mipmap/ic_launcher"android:scaleType="centerCrop"
ProgressBar 如何修改颜色?
百分比布局需要更多的学习和使用。
关于
RecycleView
的源码分析可以简单的学习一下。在 Android sdk 目录下有一个 tools 文件夹,其中的工具可以学习使用一下。
关于
LayoutInflater
布局填充的一些方法需要留意。
- [Android][第一行代码][第 3 章 View]
- Android《第一行代码》第1~3章 笔记
- Android第一行代码
- 《第一行代码3》
- 第一行代码Android第二章读书笔记
- 《第一行代码》3.2View测量 笔记
- 《第一行代码Android》读书笔记
- 《第一行代码Android》摘要
- 第一行代码-----Android 第一章
- 第一行代码Android-------Activity
- 《Android第一行代码》笔记
- 《第一行代码Android》笔记
- Android第一行代码读书笔记
- Android第一行代码小结
- 《第一行代码--android》笔记
- android第一行代码笔记
- Android NDK 第一行代码
- 《Android第一行代码》笔记
- HTML 常用标签
- java 数据结构实现数组封装 (一)
- 从Ubuntu转到CentOS,对系统做一些简单的自定义配置
- Python Study (06)内存管理GC
- git
- [Android][第一行代码][第 3 章 View]
- word在试图打开文件时遇到错误
- sql server完全安装并解决一般性网络错误
- 如何对电气产品进行拆分?
- 27.Type、Array、List、Tuple模式匹配实战解析
- three.js 基础入门
- 深度学习笔记1 BP神经网络
- jdk完全卸载
- CodeForces