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;
private ImageView image;
private RadioButton cmh;

还需用findViewById获取组件的ID,如:

image = (ImageView) findViewById(R.id.image);
chkchinese=(CheckBox)findViewById(R.id.chb_Chinese);
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();
btnConfirm.setOnClickListener(new View.OnClickListener(){
           @Override
           public void onClick(View view){
               String name=edtname.getText().toString();

我觉得Java中的代码是需要一步一步来编写的,这其中需要思考的,不能按部就班的写代码。在学习中解决问题,复习学过的知识。

控件所遇到的问题,以及解决的方法:

控件要设置ID的需要设置,需要获取的必须写上。在写RadioButton时需要一个Radiogroup来写时,不能在其中设置linerlayout,否则会破坏group中只能单选按钮的规则。
在imageView中用图时需要从drawerable中把图片放进去。

Android中的 synthesizeToFile android中的事件主要有两种_移动开发

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 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;
    }



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;
    }

Android中的 synthesizeToFile android中的事件主要有两种_控件_02

消息通知用toast定义,如

Toast.makeText(MainActivity.this,info,Toast.LENGTH_LONG).show();
           }
       });




Toast.makeText(MainActivity.this,info,Toast.LENGTH_LONG).show();
           }
       });

这之上的基本就是这章的全部内容,在Android中的学习不局限于课上的学习,课后学习和练习也是很重要的。在练习中遇到的问题大都可以通过Internet解决,所以大都来自前辈的经验,他们也是不断地练习来总结的。不过Java代码中的编写是我的难点,Java没学到位是我的痛,所以在activity中Java代码需要记住如何实现一个一个程序的功能,通过模仿学习,不断总结,不断解决所遇到的问题来完成学习。