• Android开发学习之事件处理和Button具体解释


    Android的事件处理机制: 


      1.基于监听器的事件处理 --- 组件绑定特定的事件监听器   --- 重点
      2.基于回调的事件处理   --- 主要做法是重写Android组件特定的回调函数,
      Android大部分界面组件都提供了事件响应的回调函数。我们仅仅要重写它们即可


    监听器模型:
      (1)事件源Event Source:产生事件的来源,一般是各种组件,如button。窗体等。




     (2)事件Event:事件封装了界面组件上发生的特定事件的详细信息,假设监听器须要获取界面组件上所发生事件的相关信息。一般通过事件Event对象来传递。


     (3)事件监听器Event Listener:负责监听事件源发生的事件,并对不同的事件做对应的处理。


    基于监听器的事件处理:
       1.内部类作为监听器

       2.匿名内部类作为事件监听器类

       3.XML布局文件里指定处理方法



    1.  btnLogin=(Button)super.findViewById(R.id.login);  
      
         //为button注冊监听事件  
        btnLogin.setOnClickListener(new LoginOnClickListener());  
             }  
             //事件监听器  
        private class LoginOnClickListener implements OnClickListener{  
            public void onClick(View v){  
                String username=tvUserName.getText().toString();  
                String password=tvPassword.getText().toString();  
                String info="用户名:"+username+"☆☆☆密码:"+password;  
                Toast.makeText(getApplicationContext(), info,Toast.LENGTH_SHORT).show();  
            }  
        }  
        
    2.  btnLogin=(Button)super.findViewById(R.id.login);  
        btnLogin.setOnClickListener(new OnClickListener(){  
           public void onClick(View v){  
              String username=tvUserName.getText().toString();  
              String password=tvPassword.getText().toString();  
              String info="用户名:"+username+"☆☆☆密码:"+password;  
              Toast.makeText(getApplicationContext(), info,Toast.LENGTH_SHORT).show();  
          }  
        });     








      Button事件处理方法:
     
     1.
            myButton1=(Button)findViewById(R.id.myButton1);  
            myButton2=(Button)findViewById(R.id.myButton2);  
              
            //使用匿名类注冊Button事件  
            myButton1.setOnClickListener(new OnClickListener()  
            {         
                public void onClick(View v)  
                {  
                    Toast.makeText(ButtonDemoActivity.this, "你点击了button1",Toast.LENGTH_LONG).show();  
                }  
            });  
            myButton2.setOnClickListener(new OnClickListener()  
            {         
                public void onClick(View v)  
                {  
                    Toast.makeText(ButtonDemoActivity.this, "你点击了button2",Toast.LENGTH_LONG).show();  
                }  
            });  




    2. 
       myButton1.setOnClickListener(new ButtonClick());  
       myButton2.setOnClickListener(new ButtonClick()); 


      //创建一个类。来响应OnClickListener  
        class ButtonClick implements OnClickListener  
        {  
            public void onClick(View v)  
            {  
                switch (v.getId()) {  
                case R.id.myButton1:  
                    Toast.makeText(ButtonDemoActivity.this, "你点击了button1",Toast.LENGTH_LONG).show();  
                    break;  
                case R.id.myButton2:  
                    Toast.makeText(ButtonDemoActivity.this, "你点击了button2",Toast.LENGTH_LONG).show();  
                    break;  
                default:  
                    break;  
                }  
            }         
        }  




    3. 
        XML中定义处理方法:
        <Button 
               android:onClick="clickIt">
               
        public void clickIt(View view){
          //处理button点击事件的方法
        }


    定义圆角的Button


    1.res->drawable-mdpi -> shape.xml


           shape.xml   --- button样式定制文件XML


    <?xml version="1.0" encoding="UTF-8"?> 
    <shape 
        xmlns:android="http://schemas.android.com/apk/res/android" 
        android:shape="rectangle"> 
    <!--定义填充颜色-->
    <solid android:color="#FFFFFF"/>
    <!--设置button的四个角为弧形-->
    <!--android:radius 弧形半径-->
    <corners android:radius="5dip">


    <!--padding:button 里边的文字与Button边界的间距-->
    <padding
       android:left="10dp"
       android:top="10dp" 
       android:right="10dp" 
       android:bottom="10dp"/>
    </shape>


          mainLayout.xml    ---- 布局文件


    在通过android:background="@drawable/shape"中使用shape.xml资源


    <Button
           android:id="@+id/button1"
           android:text="圆角button"
           android:layout_width="wrap_content"   
           android:layout_height="wrap_content"  
           android:background="@drawable/shape"/>
  • 相关阅读:
    2 数据库开发--MySQL下载(windows)
    Spring课程 Spring入门篇 3-1 Spring bean装配(上)之bean的配置项及作用域
    Spring课程 Spring入门篇 2-2 Spring注入方式
    Spring课程 Spring入门篇 2-1 IOC和bean容器
    maven课程 项目管理利器-maven 5-1 课程总结 1星(2018-11-08 07:19)
    maven课程 项目管理利器-maven 4-1 使用maven创建web项目 5星
    maven课程 项目管理利器-maven 3-10 maven聚合和继承 4星
    maven课程 项目管理利器-maven 3-9 maven依赖冲突 4星
    maven课程 项目管理利器-maven 3-8 maven依赖传递 4星
    maven课程 项目管理利器-maven 3-7 maven依赖范围 2星
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/7061563.html
Copyright © 2020-2023  润新知