Android基本控件和事件以及消息总结
Android学生空间界面设计涉及到的常用基本控件有TextView,EditText,Button,ImageView,CheckBox,RadioButton,基本事件有触屏和键盘事件,包括onTouchEvent,View.OnKeyListener等,菜单包括选项菜单和上下文菜单,消息通知Notification
近一个月的学习,让我对Android有了一个初步的认识,学习Android从基础知识学起。这一章学的为基本的界面设计,其中有着界面布局,控件,事件,消息通知。在学习中我学会了如何跟着老师的思路,再通过课后的学习和练习来巩固自己在课上学到的知识。这当中也遇到了许多基本的Android问题,包括如何建立一个layout布局,以及界面控件中TextView,EditText中layout的设计和居中,居右,居左问题,以及layout的完整性。
基本控件很简单,有些组件需要在Java中定义它们,如
private ImageView image;
private RadioButton cmh;
还需用findViewById获取组件的ID,如:
image = (ImageView) findViewById(R.id.image);
chkchinese=(CheckBox)findViewById(R.id.chb_Chinese);
组件按钮需设置监听,在按钮的onClick重获取组件并显示
btnConfirm.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
String name=edtname.getText().toString();
我觉得Java中的代码是需要一步一步来编写的,这其中需要思考的,不能按部就班的写代码。在学习中解决问题,复习学过的知识。
控件所遇到的问题,以及解决的方法:
*控件要设置ID的需要设置,需要获取的必须写上。
*在写RadioButton时需要一个Radiogroup来写时,不能在其中设置linerlayout,否则会破坏group中只能单选按钮的规则。
*在imageView中用图时需要从drawerable中把图片放进去。
*TextView中跑马灯的效果需要用android:ellipsize="marquee";
触屏中的问题比较难理解,反正就是当按钮被点击时,方法的调用,处理触屏事件:
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction()==MotionEvent.ACTION_DOWN) {
float x=event.getX();
float y=event.getY();
String pos="x坐标:"+x+",y坐标:"+y;
Toast.makeText(this,pos,Toast.LENGTH_LONG).show();
}
return super.onTouchEvent(event);
}
菜单以及通知
public boolean onCreateOptionsMenu(Menu menu){
//1.动态菜单
menu.add(Menu.NONE,Menu.FIRST+1,1,"保存").setIcon(android.R.drawable.ic_menu_save);
menu.add(Menu.NONE,Menu.FIRST+2,3,"删除").setIcon(android.R.drawable.ic_menu_delete);
menu.add(Menu.NONE,Menu.FIRST+3,2,"打开").setIcon(android.R.drawable.ic_menu_add);
//2.子菜单
SubMenu subMenu=menu.addSubMenu("子菜单");
subMenu.add(0,101,0,"子菜单1");
subMenu.add(0,102,0,"子菜单2");
//3.从xml加载
getMenuInflater().inflate(R.menu.main,menu);
MenuInflater inflater=getMenuInflater();//获取菜单加载器
inflater.inflate(R.menu.main,menu);//加载菜单的xml到menu对象
return true;
}
消息通知用toast定义,如
Toast.makeText(MainActivity.this,info,Toast.LENGTH_LONG).show();
}
});
这之上的基本就是这章的全部内容,在Android中的学习不局限于课上的学习,课后学习和练习也是很重要的。在练习中遇到的问题大都可以通过Internet解决,所以大都来自前辈的经验,他们也是不断地练习来总结的。不过Java代码中的编写是我的难点,Java没学到位是我的痛,所以在activity中Java代码需要记住如何实现一个一个程序的功能,通过模仿学习,不断总结,不断解决所遇到的问题来完成学习。
最新文章
- js实现图片实时预览
- [转]关于vs调试正确。但是发布到iis就出现无法访问后天局面
- springmvc 通过异常增强返回给客户端统一格式
- SPOJ 375. Query on a tree (树链剖分)
- codeforces C. Fixing Typos 解题报告
- iOS - OC NSTimeZone		时区
- iOS --- [持续更新中] iOS移动开发中的优质资源
- 指定为文件头部Expires要么Cache-Control
- 利用servicestack连接redis
- sendUserActionEvent() mView== null after clicking on button
- 团队作业8——Beta 阶段冲刺5th day
- Windows的四类消息
- MFC的PNG贴图按钮类(详细注释)
- webshell导致项目崩溃
- python之json数据存储
- (转)Maven pom.xml 配置详解
- PWDX查找程序执行路径
- 字符串 dfs
- python学习之str.lstrip()
- nginx 配置 getsimplecms 配置文件
热门文章
- .NET中代理服务器WebProxy的各种用法
- 读书笔记 effective c++ Item3 在任何可能的时候使用 const
- 《无所不能的JavaScript编程系列:arguments 参数对象》
- Swift 2.2 最基本的多线程
- (4)activiti之uel表达式
- DFS 分布式文件系统 选型笔记
- Java TreeSet集合排序 &;&; 定义一个类实现Comparator接口,覆盖compare方法 &;&; 按照字符串长度排序
- wpf后置代码中的Grid布局以及图片路径的设置
- webpack入门与解析(一)
- ReactNative入门(1)初识ReactJs