Android开发基础4:事件处理和交互实现程序设计
应用前提:Android开发中,事件是用户对图形界面的操作,Android应用程序通过事件和信息来实现人机交互。
事件包括:按下、弹起、滑动、双击。
信息包括:信息框、对话框、通知。
本节学习和Android中与事件处理和交互相关的组件及知识。
每个工程下面的模块必须做的工作!
布局文件.xml中必须设置的是:根目录为
1.Toast--显示信息提示框
应用场景:App注册界面,用户发送手机号码进行验证时,用户单击“发送验证码”后,页面下方会出现一条信息“已发送,请注意查收”。信息出现3~5s然后自动消失。这样的就是Toast提示信息。
但是注意:我们常说这种提示信息是和对应事件匹配使用。比如点击--按钮,就需要在点击按钮时设置Toast提示框。
1.1.常用的两个方法:
(1).makeText(Context context,CharSequence text,int duration)创建一个Toast。context的参数为上下文MainActivity、text为Toast提示内容:字符串、duration为Toast停留时间:LENGT_SHORT/LENGTH_LONG。
(2).show()显示这个Toast
* .setGravity(int gravity,int xOffset,int yOffset)设置Toast的位置。
* .addView(图片名称)设置Toast的图片。
1.2.步骤:
(1)在xml布局文件中添加Button控件(按钮控件)。
(2)在java类文件中创建Button对象,并在onCreate方法中使用findViewById(R.id.按钮id名)将Button对象和对应布局文件的控件绑定。
(3)使用Toast类的方法makeText和show方法创建和显示Toast。ex:Toast.makeText(上下文MainActivity.this,“在Toast要显示的字符串”,Toast.LENGTH_SHORT(显示时间长短)).show()
1.3.Toast种类:
普通的Toast提示框:
Toast.makeText().show()
带有图片的Toast提示框:
1.4.代码及结果
public class MainActivity extends AppCompatActivity {Button btnok;
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btnok=findViewById(R.id.btnok);btnok.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Toast t=Toast.makeText(MainActivity.this,"已经确认",Toast.LENGTH_SHORT);t.show();//show显示Toastt.setGravity(Gravity.CENTER,0,0);//setGravity设置Toast的位置,这个Gravity.CENTER,0,0就正好在中间ImageView image1=new ImageView(MainActivity.this);image1.setImageResource(R.mipmap.ic_launcher);LinearLayout toastview=(LinearLayout) t.getView();toastview.addView(image1);//添加到线性布局中显示,这样就可以显示图片了Toast.makeText(MainActivity.this,"ok",Toast.LENGTH_SHORT).show();
}

2.AlertDialog对话框:
应用场景:在APP界面中选择退出时,通常会弹出一个对话框,让用户选择是否退出,这种提示框就是Dialog提示框,内容包括:内容:图标、标题、内容、按钮。需要用户做出决定再继续行动。
1.1.常用的方法
(1).setIcon(int iconId)方法.设置Dialog图标。
(2).setTitle(CharSequence message)方法,设置Dialog图标。
(3).setMessage(CharSequence message)方法,设置Dialog内容。
(4).setPostiveButton(CharSequence text,DialogInterface.OnClickListener listener)方法,设置确认按钮
(5).setSingleChioceItems(CharSequence[] items,intcheckItem,android.content.DialogInterface.OnClickListener listener)设置单选列表
(6).create()方法,创建Dialog。
(7).show()方法,显示Dialog。
1.2.步骤
(1)创建AlertDialog类下面的构造器Builder。
(2)Builder调用方法设置对话框样式。设置对话框图标:setIcon;设置对话框标题:setTitle;设置对话框按钮setPositiveButton“确定”键按钮;setNegativeButton”取消“键按钮;setNeutralButton"忽略"按钮。
(3)Builder.create().show()创建展示对话框。Builder调用AlertDialog类的create()和show()按钮创建并显示对话框。

1.3Dialog种类
普通对话框
单选对话框
多选对话框
1.4代码及结果
public class MainActivity extends AppCompatActivity {Button btnok;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btnok=findViewById(R.id.btnok);@Overridepublic void onClick(View view) {//1.应该先创建Builder对象AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);//最简单是提示框就是这四个部分,图标、标题,按钮,内容builder.setTitle("警告");builder.setIcon(R.mipmap.ic_launcher);// 普通对话框 builder.setMessage("是否退出系统");//单选对话框、多选对话框final String []city={"北京","上海","广州","成都"};builder.setSingleChoiceItems(city,0,null);builder.setPositiveButton("是", new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialogInterface,int i){finish();}});//注意构造器构造完成后,不要忘记使用create构造dialogbuilder.setNegativeButton("否",null);builder. setNeutralButton("忽略",null);AlertDialog dialog=builder.create();dialog.show();}});
}

3.Menu
应用场景:对内容或事件进行分类触发,菜单下面有子菜单。
1.1.常见方法:
1.2步骤:
(1).手动创建菜单资源文件--res-->右键选择Menu Resource Dictionary-->资源类型选择menu-->menu文件右键创建Menu Recource File。
(2).menu.xml文件的根目录设置为
