学习了一个月的Android,对Android有了更进一步的了解,以前提到Android,只知道有Andrid这个系统,现在需要更近一步了解它的开发,程序,所用到的控件等,但感觉自己除了课本之外对Android的认识还是很模糊,自己脑子里没有一个清楚的认识,只是单纯的总结了一下课本上的知识点,没有融入自己的认识。
任务T2-1 基本控件(一)
常用的界面控件

TextView 显示文本信息
Button 普通按钮
EditText 输入框
ImageView 显示图片
ImageButton 图片按钮
CheckBox 复选框
RadioGroup 单选按钮组
ListView 列表
Toast 信息提示组件
所有控件的基类为View
TextView. EditText. Button三个基本控件
一,TextView控件
TextView控件的功能是向用户显示文本的内容,但不允许编辑,其常用属性有
android:layout_width
android:layout_height
android:layout_gravity
android:text
android:textSize
TextView控件的使用首先要增加到布局文件中,
修改TextView显示的内容,有两种方式
1.在XML中修改某个属性的值来控制控件的表现形式

android:id属性声明了TextView的ID,这个ID主要用于在代码中引用这个TexeView对象。“@+id/tvl”表示所设置的ID值,@表示后面的字符串是ID资源,加号(+)表示需要建立新资源名称,并添加到R.java文件中,斜杠后面的字符串(tvl)表示新资源的名称。
2.通过代码获取这个控件的对象来修改其属性
(1)View在XML中必须已配置id
(2)通过View的findViewById(int id)修改属性
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hei);
TextView tv =(TextView)findViewById(R.id.tv1);
tv.setTextSize(20);
tv.setText("hello world");
tv.setTextColor(0xFFFFFFF);
}
二,EditText控件
EditText是用户和Android应用进行数据传输的窗户,通过它,用户可以把数据传给Android应用,然后得到用户想用的数据
EditText是TextView的子类,具有TextView的属性特点
三,Button控件
Button控件是一种按钮控件,用户可以在该控件上单机,并能引发相应的事件处理函数。 Button控件常用的子类有CheckBox、RadioButton、ToggleButton等。
Button的基本使用方法:
1.添加Button控件到XML布局文件中,也可通过程序添加(在布局文件中,比较重要的是给按钮一个ID,这是按钮唯一的名称。)
2.处理按钮的单机事件
(1)通过onClick属性设置处理单击事件的方法名
(2)另一种方法是使用setOnClickLidtener添加监听器对象

创建一个APP的基本步骤
1.创建布局文件
2.新建“MainActivity”类,创建Activity
3.添加“登录”按钮事件
补充:
1.如果需要在原有功能基础上增加一个图像按钮,使图像大小与按钮相同,可采用如下方法:
在布局中使用资源有两种方式(1)使用自定义的资源(2)使用系统定义资源
2.为文本框限定具体内容
3.Toast是Android中用于向用户显示提示消息,Toast没有焦点,且显示时间有限,经过一定的时间就会自动消失。
第一个参数表示当前的上下文环境;第二个参数表示要显示的字符串;第三个参数表示显示的时间长短。
android.intent.action.MAIN决定应用程序最先启动
android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里
任务T2-2 基本控件(二)
ImageView控件, CheckBox控件,RadioButton控件
一,ImageView控件
ImageView控件是用于展示图片的控件,可以展示两类图片:一是普通的静态图片;二是动态的图片
关键属性android:src用于设置ImageView中展示什么图片,可以通过XML或代码赋值
●若图片由程序自带,需要将图片作为drawable资源
●在使用前先将图片复制到drawable相对应的资源文件夹,否则运行会报错
二,CheckBox控件
CheckBox是CompoundButton的子类,是一个带有选中/未选中状态的按钮,可用于多选的场景,也可用于只有一个选项的情况。
CheckBox的优点在于不用用户去填写具体的信息,只需选中选择框;缺点在于只有“选择”和“不选择”两种情况,但可以利用它的这个特殊性来获取相应的信息。
CheckBox的关键属性及方法
(1)android:text:用于设置CheckBox控件提示文字
(2)android:checked=“true”:用于设置此标签的初始状态为选中
(3)isChecked():用于判断按钮是否处于被选中状态
(4)setChecked(Boolean flag):通过传递一个布尔参数来设置按钮的状态
改变CheckBox的选择状态方式有三中:XML中申明、代码动态改变、用户触摸单击。它的改变将会触发OnCheckedChange事件,所以,可以对应的使用OnCheckedChangeListener监听器来监听这个事件。
三,RadioButton控件
RadioButton是一个单选按钮,主要应用于单选的场景,需要同RadioGroup控件一起使用方可实现单选效果
RadioGroup是单选组合框,在没有RadioGroup的情况下,RadioButton可以全部选中;而在多个RadioButton被RadioGroup包含的情况下,RadioButton只可以选择一个,也就是实现了单选的效果。
RadioButton和RadioGroup在使用过程中需要注意的地方:
(1)RadioButton表示单个圆形单选框,理论上也可以单独使用;而RadioGroup是可以容纳多个RadioButton的容器,使RadioButton实现单选功能。
(2)每个RadioGroup中的RadioButton同时只能有一个被选中。
(3)不同的RadioGroup中的RadioButton互不相干
(4)通常,一个RadioGroup中至少有两个RadioButton
(5)一般而言,一个RadioGroup中的RadioButton默认有一个被选中,通常建议将它放在RadioGroup中的起始位置
CkeckBox控件的重要事件为onCheckedChanged,当选项发生变化是触发该事件。需实现RadioGroup的OnCheckedChangedListener接口,并实现回调方法onCheckedChanged(),设置监听对象。
在编程中,一般使用RadioGroup的getCheckedRadioButtonId方法来获取RadioGroup中具体哪一个RadioGroup被选中。
RadioButton和CheckBox的区别如下:
(1)单个RadioButton在选中后,通过单击无法变为未选中的状态,而CheckBox可以。
(2)一组RadioButton,只能同时选中一个;
一组CheckBox,能同时选中多个。
(3)RadioButton在大部分UI框架中默认用圆形表示;
CheckBox在大部分UI框架中默认用矩形表示。
任务T2-3 触屏与键盘事件
一,Android常见事件
1.onClick(View v):用来处理一个普通的按钮事件。
2.boolean onKeyMultiple(intkeyCode, repeatCount,KeyEventevent):用于按钮重复,必须重载@Override实现。
3.boolean onKeyDown(int keyCode,KeyEvent event):在按键按下时发生。
4.boolean onKeyUp(int keyCode,KeyEvent event):在按键释放时发生。
5.onTouchEvent(MotionEvent event):触屏事件,当在触摸屏上有动作时发生。
6.boolean on KeyLongPress(int keyCode,KeyEvent event):当长时间按时发生
二,onTouchEvent事件
onTouchEvent是手机屏幕事件的处理方法,重写Activity的onTouchEvent方法后,当屏幕有touch事件时,此方法就会被调用。应用程序可以通过该方法处理手机屏幕的触摸事件(当用户触摸相应的Activity时,onTouchEvent方法就会被反复调用)。
public boolean onTouchEvent(MotionEvent event)
一般在Activity类中重写该方法。
参数event:参数event为手机屏幕触摸事件封装类的对象,其中封装了该事件的所有信息。
返回值:该方法的返回值机理与键盘响应事件的相同,当已经完整地处理了该事件且不希望其他回调方法再次处理时返回true,否则返回false。
三,键盘事件
键盘事件主要用于对键盘事件的监听,根据用户输入内容对键盘事件进行跟踪,键盘事件使用ViewOnKeyListener接口进行事件处理。
接口定义:
public static interface View.OnKeyListener
补充:
1.重写Activity的dispatchKeyEvent(KeuEvent event)方法,在其中监听KeyEvent Key.KEYCODE_ENTER键,当此键按下的时候,隐藏输入法软键盘,设置EditText内容并重新加载webview内容。
2.可以使用OnKeyListener的方法来监听软键盘的按键。
3.可以调用EditText控件的setOnEditorActionListener方法来对软件键盘按键进行监听。

任务T2-4 菜单与消息通知
一,菜单
1.选项菜单(option menu)
android.view.Menu接口代表一个菜单,android用它来管理各种菜单项。
具体使用方法
(1)创建布局文件
(2)在该布局上加载菜单
(3)为菜单项注册事件
2.上下文菜单
当用户长按Activity页面时,弹出的菜单被称为上下文菜单,Windows中右键弹出的菜单就是上下文菜单。
上下文菜单不同于选项菜单,选项菜单服务于Activity,而上下文菜单则是注册到某个View对象上的。

上下文菜单的具体使用方法:
(1)覆盖Activity的onCreateContext.Menu()方法,调用Menu的add方法添加菜单项MenuItem。
(2)覆盖onContextItemSelected()方法,响应菜单单击事件。
(3)调用registerForCopublicntextMenu()方法,为视图注册上下文菜单。
OptionsMenu经常使用的方法如下。
(4)public boolean onCreatOptionsMenu(Menu menu):使用此方法调用OptionsMenu方法会被调用,可以用此方法来根据当时的情况调整菜单。
(5)public boolean onMenuOpened(int featureId,Menu menu);菜单打开后发生的动作。
二.对话框
Android中主要的对话框:AlertDialog、ProgressDialog、DatePickerDialog、TimePickerDialog.
一个AlertDialog对话框继承自Dialog类可以使用一个标题、一条消息、1.2或3个按钮、一组可选择的项来装点对话框。
创建对话框的步骤:
(1)创建一个Builder对象
(2)设置要创建的Dialog的参数
(3)为按钮设置回调函数
(4)根据上面几步的设置,使Builder生成dialog对象
(5)使用show()方法将dialog显示出来
三,消息通知
状态条和状态栏的区别:
状态条就是手机屏幕上方的一个条形的区域。
状态栏就是手从状态条滑下来的可以伸缩的view。
Notification是一种使用户的应用程序在没有开启的情况下或在后台运行是警示用户、给用户消息提示的方式。
Notification使用步骤
(1)通过getSystemService()方法得到NotificationManager对象
(2)对Notification的一些属性进行设置
(3)通过NotificationManager对象的notify()方法来执行一个Notification的消息