《第一行代码》学习笔记13-UI(2)
1.EditText:程序和用户进行交互的重要控件,允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。
2.Android控件使用的一般规律:给控件定义一个id->指定下控件的宽度和高度-> 再适当加入些控件的特有的属性。
3.ImageView:用于在界面上展示图片的一个控件;ProgressBar:用于在界面上显示一个进度条,表示程序在加载一些数据。
AlertDialog:在当前的一个界面弹出一个对话框,该对话框是置顶于所有界面元素之上的,能够屏蔽其他控件的交互能力,
常用于提示非常重要的内容或警告信息。
ProgressDialog:也是在界面上弹出一个对话框,能够屏蔽掉其他控件的交互能力。该控件是会在对话框中显示一个进度条,
一般是表示当前操作比较耗时,让用户耐心等待。
4.布局是一种可用于放置很多控件的容器,可以按照一定的规律调整内部控件的位置,从而编写出精美的界面。布局的内部
不仅可以放置控件,也可以放置布局,形成多种布局的嵌套。
5.四大布局:
LinearLayout:线性布局,将它所包含的控件在线性方向上依次排列,包括水平和竖直方向。
RelativeLayout:相对布局,通过相对定位的方式让控件出现在布局的任何位置。
FrameLayout:该布局没有任何的定位方式,所有控件都会摆放在布局的左上角。
TableLayout:使用表格的方式来排列控件,设计表格时尽量让每一行都拥有相同的列数;当表格的某行一定要有不相等的列
数时,通过合并单元格的方式。
AbsoluteLayout:该布局官方已经不推荐使用。
6.android:gravity是用于指定文字在控件中的对齐方式,而android:layout_gravity是用于指定控件在布局中的对齐方式。
LinearLayout的排列方向是horizontal时,只有垂直方向上的对齐方式才会生效,因为此时水平方向上的长度是不固定的,每
添加一个控件,水平方向上的长度都会改变,因而无法指定该方向上的对齐方式。同理,排列方式是vertical时,只有水平方向
上的对齐方式才会生效。
7.android:layout_weight,使用比例的方式来指定控件的大小,在手机屏幕的适配性方面起到重要作用。
8.使用了android:layout_weight属性,此时控件的宽度不应再由android:layout_width来决定,这里指定0是一种比较规范的写法。
9.关于android:layout_weight属性:系统会先把LinearLayout下所有控件指定的layout_weight值相加,得到一个总值->每个
控件所占大小的比例就是用该控件的layout_weight值除以刚才算出的总值。eg.若想让EditText占据屏幕宽度的的3/5,Button
占据屏幕宽度的2/5,只需要将EditText的layout_weight改成3,Button的layout_weight改成2就可以了。
10.android:stretchColumns允许将TableLayout中的某一列进行拉伸,以达到自动适应屏幕宽度的作用。
《第一行代码》学习笔记13-UI(2)的更多相关文章
- 第一行代码阅读笔记---AndroidMainfest.xml分析
按照这本书的指引,我随作者一样创建了一个安卓应用,开始了安卓开发的启程. 找到AndroidMainfest.xml这个文件,打开后看到了我创建的Activity在这个文件里被成功注册,文件内容如下: ...
- 《Android第一行代码》笔记
学习Android开发差点儿相同有两年时间了.期间也做了大大小小的一些项目.近来抽出闲暇想把Android基础强化一下,之前在网上看到了郭霖郭大神的几篇博客.从中受益不少.于是花了近一周时间看完了郭神 ...
- 第一行代码阅读笔记----显示隐式Intent的基本用法
1.显示Intent意图明显,通过Intent启动另外一个活动,这是安卓中各组件进行交互的一种重要方式.一般用于启动活动,启动服务,发送广播等场景. 实现方法,这里我只说思路,实践还是要自己实操才能明 ...
- 第一行代码阅读笔记---详解分析第一个Android程序
以下是我根据作者的思路,创建的第一个Android应用程序,由于工具强大,代码都自动生成了,如下: package com.example.first_app; import android.os.B ...
- python学习笔记1--python简介和第一行代码编写
一.什么是python? python是一种面向对象,解释型语言,它语法简介,容易学习.本节博客就来说说本人学习python的心得体会. 二.python环境安装 目前python版本有python2 ...
- 通过《第一行代码》学习 Android 开发
第一行代码 Android --第 2 版-- 郭霖 著 第 1 章:开始启程--你的第一行 Android 代码 •1.2 手把手带你搭建开发环境 Android Studio 的安装及配置 A ...
- 【java学习系列】 Android第一本书《第一行代码》
开始Java的学习,从Android,开始吧.<第一代码>开始阅读和调试demo例子. 下面是 <第一行代码>的思维导图:
- 20172327 2018-2019-1 《第一行代码Android》第二章学习总结
学号 2017-2018-2 <第一行代码Android>第二章学习总结 教材学习内容总结 - 活动是什么: 活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件 ...
- 20172327 2018-2019-1 《第一行代码Android》第一章学习总结
学号 2018-2019-1 <第一行代码Android>第一章学习总结 教材学习内容总结 - Android系统架构: 1.Linux内核层 Android系统是基于Linux内核的,这 ...
- $《第一行代码:Android》读书笔记——第6章 数据持久化
主要讲述了Android数据持久化的三种方式:文件存储.SharedPreference存储.SQLite数据库存储. (一)文件存储 其实Android中文件存储方式和Java的文件操作类似,就是用 ...
随机推荐
- Zookeeper+Kafka+Storm+HDFS实践
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. Hadoop一般用在离线的分析计算中,而storm区别于hadoop,用在实时的流式计算中,被广泛用来 ...
- MySql不支持事务解决
用的是一个绿色版的mysql数据库,发现不支持事务,在网络上搜集资料找到解决方案: 1.执行语句 SHOW ENGINES; 如果发现InnoDB全部显示为“YES”,说明该版本的数据库支持事务 2 ...
- 矩阵链乘 hrbust 1600
#include<string.h> //区间dp的思想#include<iostream> //将一个区间分成两段,将每一段当成是一个矩阵#include<stdio. ...
- Java系列--第四篇 基于Maven的SSME之发送邮件
在系列第一篇中,使用的是mybatis得到了一个小小的项目,而该项目的用户对象是有邮件地址的,如果按照邮件地址给对方去一封邮件会不会更能体现针对性呢,所以,我在这篇准备加入发送邮件的功能,利用的就是s ...
- MySQL查询指定时间的数据
user_event :用户事件表 create_time :表中存储时间的字段 #获取当月数据 SELECT * FROM user_event WHERE DATE_FORMAT(create_t ...
- 解决div里面img的缝隙问题~
解决div里面img的缝隙问题 图片IMG与容器下边界之间有空隙怎么办?这里介绍3中简单的解决方法. 第一,给图片img标签display:block. img{display:block} 第二,定 ...
- boost dijkstra获得两点间的最短路
需求是只需要得到两点间的最短路,不需要求得单源对于全图的最短路,使用boost中的dijsktra_shortest_path,当得到目标点的最短路时直接throw exception. #inclu ...
- SolrCloud初识
文章摘自:http://www.bubuko.com/infodetail-923588.html 一.概述 Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库: Solr是以Luce ...
- java实现双端链表
PS:双端链表(持有对最后一个节点的引用,允许表尾操作与表头操作等效的功能) public class DoubleLinkedList { //节点类 static class Node { pub ...
- Ubuntu下Vim 如何进入全屏编辑模式
如题:F11进入全屏编辑模式,再按F11则退出全屏编辑模式.