常用事件响应实习方式

一、单击事件onclick

1、动态设置

        Button button = (Button) findViewById(R.id.button1);
        button.setOnClickListener(new OnClickListener()
        {
   
              @Override
              public void onClick(View v) {
    
                   Toast.makeText(MainActivity.this, "click button", Toast.LENGTH_SHORT).show();
                }
         });

2、配置方式,仅限于onclick

   在配置文件中先声明一个回调函数。

xml中

     <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:οnclick="test"
         />

MainActivity

    public void test(View view)
    {
     view.setX(view.getX()+10);
    }

 

 二、长按事件

button.setOnLongClickListener(new OnLongClickListener() {
   
   @Override
   public boolean onLongClick(View v) {
    // TODO Auto-generated method stub
    Toast.makeText(MainActivity.this, "long click", Toast.LENGTH_SHORT).show();
    return false;
   }
  });

如果返回false,将会继续触发事件,如点击事件。如何返回True,这不会再触发其他事件。

 

三、触发事件

 button.setOnTouchListener(new OnTouchListener() {  
   @Override
   public boolean onTouch(View v, MotionEvent event) {
    int actionType = event.getAction();
    if(actionType == MotionEvent.ACTION_DOWN)
    {
     System.out.println("tonch 按下...");
    }
    else if(actionType == MotionEvent.ACTION_MOVE)
    {
     System.out.println("tonch 移动...");
    }
    else if(actionType == MotionEvent.ACTION_UP)
    {
     System.out.println("touch 松开...");
    }
    else {
     
    }
    return false;
   }
  });

event  对象记录了 事件发生的现场对象

 

四、拖拽的小实习

final Button button = (Button) findViewById(R.id.button1);
       ViewGroup viewGroup = (ViewGroup) findViewById(R.id.layout_01);
      
       viewGroup.setOnTouchListener(new OnTouchListener() {
  
        @Override
  public boolean onTouch(View v, MotionEvent event) {
   // TODO Auto-generated method stub
   int actionType = event.getAction();
   
   if(actionType == MotionEvent.ACTION_DOWN)
   {
    System.out.println("tonch 按下...");
   }
   else if(actionType == MotionEvent.ACTION_MOVE)
   {
    float f = event.getX();
    float f1 = event.getY();
    button.setX(f);
    button.setY(f1);
    System.out.println("tonch 移动...");
   }
   else if(actionType == MotionEvent.ACTION_UP)
   {
    System.out.println("touch 松开...");
   }
   else {
    
   }
   
   return true;
  }
 });

 

viewGroup:获取整个布局里的控件view

return ture:说明你还没消费onTouch事件,在执行完你onTouch里面的代码之后,onTouch事件并没有结束。就是会自动地执行Gallery这个view里onTouch代码

return false:说明你已经消费完了onTouch事件,在执行完你的onTouch里面的代码之后,这个onTouch事件就结束了。

 五:焦点事件

 button.setOnFocusChangeListener(new OnFocusChangeListener() {
  
  @Override
  public void onFocusChange(View v, boolean hasFocus) {
   
   Toast.makeText(MainActivity.this, "焦点事件...", Toast.LENGTH_SHORT).show();
   
  }
 });

六、键盘事件

button.setOnKeyListener(new OnKeyListener() {
   
   @Override
   public boolean onKey(View v, int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    String keyString = ""+keyCode;
    Toast.makeText(MainActivity.this, keyString, Toast.LENGTH_SHORT).show();
    return false;
   }
  });

要先获得焦点。

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的体育馆管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本体育馆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此体育馆管理系统利用当下成熟完善的SpringBoot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理收货地址管理、购物车管理、场地管理、场地订单管理、字典管理、赛事管理、赛事收藏管理、赛事评价管理、赛事订单管理、商品管理、商品收藏管理、商品评价管理、商品订单管理、用户管理、管理员管理等功能。体育馆管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:体育馆管理系统;SpringBoot框架;Mysql;自动化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值