//快捷键
1.重写:Ctrl+o;
2.改字体:File->Settings->Editor->Color->Fonts->Font中修改字体;
3.注释:Ctrl+F
4.格式化代码:Ctrl+Shift+L
5.Ctrl+Shift+V:快速声明变量
6.Ctrl+Shift+s:快速打开设置界面
1.Android的基本组件
1.1 Activity 代表手机的一个屏幕
1.2 Service 不可见的组件
1.3 BroadcastReceiver 广播消息监听器
1.4 ContentProvider 内容提供者
1.5 Intent和IntentFilter 意图
View和ViewGroup介绍
View类似于swing中的JPanel,代表一个空白的矩形区域,Android应用中的绝大部分UI组件都继承于View或其子类
View还一个重要的子类ViewGroup,它通常作为其它组件的[容器]使
简单来讲View是所有控件的父控件,ViewGroup可以包含其它的View对象,并且是所有布局控件的父类
Activity相当于一个展板,本身没有可视的内容,你把画(View)贴到展板上就可以展示出来了
setContentView(view)自定义视图(onDraw)
3.1 颜色四种设置方式
canvas.drawColor(Color.RED);//系统颜色(Color.RED)canvas.drawColor(Color.rgb(100, 150, 200));//rgb
canvas.drawColor(Color.argb(100, 100, 150, 200));//argb,其中第一参数为透明度
canvas.drawColor(Color.parseColor(“#44E21D”));//16进制
3.2 画板背景
canvas.drawColor(Color.BLUE)
3.3 画笔设置
3.3.1 实心或空心
paint.setStyle(Style.FILL);//实心
paint.setStyle(Style.STROKE);// 空心
3.3.2 粗细
paint.setStrokeWidth(10)
3.3.3 抗锯齿
paint.setAntiAlias(true);
3.3.4 颜色设置
paint.setColor(Color.parseColor(“#103864”));画图形
4.1 画圆
canvas.drawCircle(200, 100, 100, paint)
4.2 画矩形
canvas.drawRect(0, 200, 200, 400, paint);
canvas.drawRect(rect, paint);
左上角、右下角
4.3 画多边形(三角形)
4.3.1 drawLine方式
4.3.2 drawPath方式
Path
moveTo(float x, float y):将起始点设置到x,y点
lineTo(float x, float y):从当前点绘制一条线段到x,y点
reset():清除path设置的所有属性
close():回到初始化形成封装的曲线
4.3.3 如果画笔为实心,画线与Path方式的区别
drawLine=空心,drawPath=实心
4.5 画文字
drawText()
paint.setTextSize(50);// 设置文字大,单位为dp
4.6 画图
drawBitmap 位图
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.qq);
注意事项:图片名不能是汉字或空格什么时候要子类中通过super再调用父类的方法呢?(重要重要)
如果父方法中有代码就要如此~如果父方法中有代码就要如此~如果父方法中有代码就要如此
重要的事情说三遍,例如:onDraw可以不用再重新调用super.onDraw(),因为父方法中一行代码都没有
注1:其实最简单的办法就是不管三七二十一,都调用super.xxx()方法即可
安卓工程目录
模块
manifests
仅有一个文件,系统清单文件,相当于web.xml
java
放源文件
res(放系统资源文件,一个很重要的的类R,自动生成,resource的缩写)
drawable(放图片资源)
layout(放布局文件)
dp(密度,相当于width中的百分比)
sp(密度,相当于width中的的数值xxx.px)
什么是布局
就是把界面中的控件按照某种规律摆放到指定的位置布局的二种实现
代码
xml配置文件:res/layout目录下
注:也可以同时使用xml和代码布局的基本属性
取值范围
{ //效果是一样的
fill_parent//过时
match_parent//不过时
}固定值
{
dp 控件大小
sp 文字大小
}padding 内补丁
margin 外补丁android:gravity和android:layout_gravity
用一个TextView、文字、背景查看效果最方便
android:gravity:控件内部的元素
android:layout_gravity:控件所在父元素的位置
但父元素的水平和垂直设置的优先度更高常见布局
线性布局(重点) LinearLayout
表格布局(几乎不用)
帧布局绝对布局
相对布局 RelativeLayout
网格布局
RTL(几乎不用)
案例一
1. 事件监听(三种写法)
1.1 标签上直接绑定监听方法
public void xxx(View view)
1.2 创建监听器对象,组件再绑定监听器对象
1.2.1 匿名内部类
1.2.2 使用匿名内部类并定义成全局的属性
- 文本框(TextView)
2.1 简介
TextView直接继承View,作用就是在界面上显示文本(类似于Swing中的JLabel),同时它还是EditText、Button两个UI组件类的父类。
另外Android关闭了它的文字编辑功能,如果想编辑内容,则可以使用EditText。
2.2 TextView常用属性
2.2.1 text
2.2.2 autoLink
2.2.3 singleLine(已过时,现在应为:android:lines)
2.2.4 lines
2.2.5 minLines
2.2.6 textColor
2.2.7 textSize
2.2.8 textStyle
字体风格粗体、斜体
2.2.9 backgroud
设置背景,可以是颜色或图片
2.2.10 drawableXX
设置文本的icon
2.2.11 ellipsize 当文字长度超过textview宽度时的显示方式
android:ellipsize=”start” 省略号显示在开头 “…pedia”
android:ellipsize=”end” 省略号显示在结尾 “encyc…”
android:ellipsize=”middle” 省略号显示在中间 “en…dia”
android:ellipsize=”marquee” 以横向滚动方式显示(另外还需要设置其它三个属性,否则不滚动,即必须让该控件获得焦点)
案例二 常用编辑框
3. 编辑框(EditText)
3.1 简介
EditText和TextView非常相似,它与TextView共用了绝大总分XML属性和文法,
二者最大区别在于:EditText可以接受用户输入。
3.2 常用属性
3.2.1 inputType
它是EditText组件最重要的属性,它相当于HTML中标签的type属性,用于EditText指定输入组件的类型。
常用取值有:number|numberPassword|date|phone
3.2.2 hint:提示字符信息
案例三:椭圆形、背景渐变的文本框
4. Android资源
4.1 什么是资源
指在res文件夹下的xml文件,每一种类型的xml文件都对应了一种资源。
例如:外形资源(shape)、尺寸资源(dimension)、颜色资源(color)等
4.2 尺寸资源和颜色资源放res/values目录下
4.3 *.xml(文本框的外形资源)可放到drawable目录下
4.4 设置渐变色与背景色只能取其一,后面会覆盖前面的
案例四:根据获得/失去焦点边框变色编辑框
5. 选择器
5.1 作用:根据控件状态显示不同样式
5.2 Item: 指定不同状态下控件显示哪个样式
核心点:
1、点击事件的添加
2、输入框引入外形资源调节样式