Android菜鸟成长记4-button点击事件
发布日期:2021-10-25 06:15:20 浏览次数:1 分类:技术文章

本文共 5771 字,大约阅读时间需要 19 分钟。

Button

  1.button按钮的创建

    一般来说,在我们新建一个Android项目的时候,会有会默认有一个activity_main.xml的文件

    

如果你在新建项目的时候,把Create Activity没勾的话(下图是新建项目的时候的一个页面),就需要,新建一个

新建一个布局的方法

  layout -> 右键点击 -> new - > Android XML File 然后会弹出创建布局文件的窗口 。

  

 

好了,布局加载好了,现在进入我们的主题,添加一个按钮。

  首先,点击activity_main.xml文件,我们看到这样的一个界面

  

  那么我们要怎么创建按钮呢,其实很简单,只要把最左边的button拖到你设计的布局里面即可

 

 

这样我们的按钮就创建完,是不是很简单。

然后我们再看看在窗口的最下方有两个切换卡,左边是 Graphical Layout,右边是 activity_main.xml 

  Graphical Layout 是当前的可视化布局编辑器,在这里你不仅可以预览当前的布局,还可以通过拖拽的方式编辑布局 (既是我们刚刚创建按钮的地方)

    activity_main.xml  则是通过 XML 文件的方式来编辑布局 

 

 activity_main.xml文件

1 
10 11
16 17
这里可以修改按钮的名字25 26

 

对于button的介绍的差不多了,下面让我们搞点新意思吧。

 

  现在我们创建好的按钮,只能看,无论你在模拟器或手机上怎么点击都是没什么反应的,那么怎样才能让他有反应呢。

  相信学过网页的都知道我们差了点什么,没错,就是点击事件。

Android的点击事件是创建

  首先,我们打开打开项目下的src文件夹的com.example.项目名(系统会默认前缀是com.example开头的)下的MainActivity.java

  

1 package com.example.hello; 2  3 import android.app.Activity; 4 import android.app.AlertDialog; 5 import android.os.Bundle; 6 import android.view.Menu; 7 import android.view.MenuItem; 8 import android.view.View; 9 import android.view.View.OnClickListener;10 import android.widget.Button;11 import android.widget.TextView;12 import android.widget.Toast;13 14 15 public class MainActivity extends Activity {16 17     @Override18     protected void onCreate(Bundle savedInstanceState) {19         super.onCreate(savedInstanceState);20         setContentView(R.layout.activity_main);21         22         //定位textView1这个控件23         TextView tv1 = (TextView) this.findViewById(R.id.textView1);24         //对控件进行赋值,改变显示的内容25         tv1.setText("你好,Android");26         27         final TextView textview = (TextView)findViewById(R.id.textView2);28         //根据id获取按钮的控件29         Button btn = (Button) this.findViewById(R.id.button1);30         //修改按钮的名字31         btn.setText("点我");32         //给按钮赋予点击事件33        34         btn.setOnClickListener(new OnClickListener() {36             @Override37             38             public void onClick(View v) {39                  45                 //第一个参数:上下文,指的是activity,所以写的是MainActivity.this46                 //第二个参数:设置弹出的信息47                 //第三个参数,设置显示的实践48                 Toast.makeText(MainActivity.this, "点解要点我", Toast.LENGTH_LONG).show();49             }50         });51     }52 53 54     @Override55     public boolean onCreateOptionsMenu(Menu menu) {56         // Inflate the menu; this adds items to the action bar if it is present.57         getMenuInflater().inflate(R.menu.main, menu);58         return true;59     }60 61     @Override62     public boolean onOptionsItemSelected(MenuItem item) {63         // Handle action bar item clicks here. The action bar will64         // automatically handle clicks on the Home/Up button, so long65         // as you specify a parent activity in AndroidManifest.xml.66         int id = item.getItemId();67         if (id == R.id.action_settings) {68             return true;69         }70         return super.onOptionsItemSelected(item);71     }72 }

上面的就是一个简单的点击事件,首先我们要获取按钮的控件,findViewById(R.id.button1)就是根据button的id来获取他,就是上面说到了buttoon的id了。

然后我们看一下运行结果

  

这就是一个简单的按钮点击事件了

  或许大家对于Toast不理解,现在简单的介绍一下

  Toast Android 系统提供的一种非常好的提醒方式, 在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间 

 

但是对于上面的写法大家是不是觉得好长好难看,那么下面我们来改良一下代码,然我们看的更舒服

首先我们新建一个类btnClickListen来继承Android的OnClickListener借口

1 package com.example.hello; 2  3 import android.content.Context; 4 import android.view.View; 5 import android.view.View.OnClickListener; 6 import android.widget.Toast; 7  8 public class btnClickListen implements OnClickListener { 9 10     private Context context;11     12     public btnClickListen (Context c) {13         this.context = c;14     }15     16 17     @Override18     public void onClick(View v) {19         Toast t = Toast.makeText(context, "点解要点我", Toast.LENGTH_LONG);20         t.show();21         22     }23 24 }

 

1 package com.example.hello; 2  3 import android.app.Activity; 4 import android.app.AlertDialog; 5 import android.os.Bundle; 6 import android.view.Menu; 7 import android.view.MenuItem; 8 import android.view.View; 9 import android.view.View.OnClickListener;10 import android.widget.Button;11 import android.widget.TextView;12 import android.widget.Toast;13 14 15 public class MainActivity extends Activity {16 17     @Override18     protected void onCreate(Bundle savedInstanceState) {19         super.onCreate(savedInstanceState);20         setContentView(R.layout.activity_main);21         22         //定位textView1这个控件23         TextView tv1 = (TextView) this.findViewById(R.id.textView1);24         //对控件进行赋值,改变显示的内容25         tv1.setText("你好,Android");26         27         final TextView textview = (TextView)findViewById(R.id.textView2);28         //根据id获取按钮的控件29         Button btn = (Button) this.findViewById(R.id.button1);30         //修改按钮的名字31         btn.setText("点我");32         //给按钮赋予点击事件33         btn.setOnClickListener( new btnClickListen(this));34        35     }36 37 38     @Override39     public boolean onCreateOptionsMenu(Menu menu) {40         // Inflate the menu; this adds items to the action bar if it is present.41         getMenuInflater().inflate(R.menu.main, menu);42         return true;43     }44 45     @Override46     public boolean onOptionsItemSelected(MenuItem item) {47         // Handle action bar item clicks here. The action bar will48         // automatically handle clicks on the Home/Up button, so long49         // as you specify a parent activity in AndroidManifest.xml.50         int id = item.getItemId();51         if (id == R.id.action_settings) {52             return true;53         }54         return super.onOptionsItemSelected(item);55     }56 }

 

 

 

现在是不是好看很多了。

其实第二种两种方法是一样的,第一种其实就是我之前博客说的匿名内部类的一种写法。

 

转载于:https://www.cnblogs.com/lsyverygood/p/6073516.html

转载地址:https://blog.csdn.net/weixin_30872671/article/details/99108328 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:软件常见故障的现象、故障排除的方法
下一篇:360浏览器使用评价

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月03日 07时34分11秒