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 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"2     xmlns:tools="http://schemas.android.com/tools"3     android:layout_width="match_parent"4     android:layout_height="match_parent"5     android:paddingBottom="@dimen/activity_vertical_margin"6     android:paddingLeft="@dimen/activity_horizontal_margin"7     android:paddingRight="@dimen/activity_horizontal_margin"8     android:paddingTop="@dimen/activity_vertical_margin"9     tools:context="com.example.hello.MainActivity" >
10
11     <TextView
12         android:id="@+id/textView1"
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:text="@string/hello_world" />
16
17     <Button
18         android:id="@+id/button1"     这个是你创建的按钮id,很重要的一个东西
19         android:layout_width="wrap_content"  //这里可以控制按钮的长度
20         android:layout_height="wrap_content" //这里可以控制按钮的高度
21         android:layout_alignLeft="@+id/textView1"
22         android:layout_below="@+id/textView1"
23         android:layout_marginTop="26dp"
24         android:text="Button" />   这里可以修改按钮的名字
25
26 </RelativeLayout>

对于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     @Override
18     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             @Override
37
38             public void onClick(View v) {
39
45                 //第一个参数:上下文,指的是activity,所以写的是MainActivity.this
46                 //第二个参数:设置弹出的信息
47                 //第三个参数,设置显示的实践
48                 Toast.makeText(MainActivity.this, "点解要点我", Toast.LENGTH_LONG).show();
49             }
50         });
51     }
52
53
54     @Override
55     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     @Override
62     public boolean onOptionsItemSelected(MenuItem item) {
63         // Handle action bar item clicks here. The action bar will
64         // automatically handle clicks on the Home/Up button, so long
65         // 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     @Override
18     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     @Override
18     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     @Override
39     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     @Override
46     public boolean onOptionsItemSelected(MenuItem item) {
47         // Handle action bar item clicks here. The action bar will
48         // automatically handle clicks on the Home/Up button, so long
49         // 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

Android菜鸟成长记4-button点击事件相关推荐

  1. Android菜鸟成长记1--环境的搭配和第一个项目的构建

    一.配置Android环境 1.下载JavaJDK的本地,然后拷贝出来(因为Android实在java的基础上开发的,所以要先配置java环境) 2.java环境变量的配置 配置方法(我的电脑上-&g ...

  2. Android按back后执行过程,安卓app测试获取接口返回数据,然后处理数据,放在一个button点击事件里面 执行顺序有问题?无法获取数据?...

    private JSONArray jsonArray; btn1.setOnClickListener(new View.OnClickListener() { @Override public v ...

  3. Button点击事件

    Button点击事件一般有四种方法: 1:匿名内部类 2: 自定义内部类 3 :通过当前Activity实现点击事件接口 4 :在xml文件中绑定 匿名内部类格式 : <Buttonandroi ...

  4. button点击事件不响应的解决方法(子视图大小超过父视图)

    一开始封装了一个tableView的headerView,感觉完成得还不错,后来测试的时候发现,最下边的两个button的点击事件不响应.然后就...着急了.在网上查询了button点击事件不响应的原 ...

  5. 2023-02-24 Android app java 模拟控件点击事件,使用performClick方法去实现

    一.Android app java 模拟控件点击事件,使用performClick方法去实现. 二.实际使用 private TextView m_bt_connect ;m_bt_connect ...

  6. android按钮点击toast,关于button点击事件中setOnClick等元素的解读以及方法?以及toast的位置以及作用?...

    此文末参考链接: 此段代码的教程以及使用接口的方式.switch语句的教程链接为链接1. 汇总里说的有更多的实现方法,为链接2. 文中链接为视觉统一,链接均于文末,以上为方便文中跳转,加了文中的跳转链 ...

  7. Android中Button点击事件

    在Android中的Button控件上,有三种鼠标点击事件,分别是鼠标点击事件,长按事件,触摸事件 接下来,看一下是如何进行的 方法一: 在layout中创建一个xml文件,使用什么布局方式,你都可以 ...

  8. Android listView中的button点击事件

    如果listView中的item有button控件,那么如何获取listView中的button控件?又如何在点击button时定位当前的item? 在listview中的listitem设置事件响应 ...

  9. 【Android开发】三种方法实现Button点击事件响应

    目录 1.在xml中对onclick()进行指定方法 2.NEW一个OnClickListenner()接口实现 3.实现OnClickListener接口(Switch方法) Hello,你好呀,我 ...

最新文章

  1. C#实现对象的Xml格式序列化及反序列化
  2. CNN架构复现实战 | 附视频和github项目
  3. Redis RDB 持久化详解
  4. 今天浅谈功能测试基础
  5. zz SOA推荐书籍列表
  6. 怎么用python做表格-怎么用python画表格?
  7. python中文叫什么意思-在python中,“~”是什么意思?
  8. 下载python步骤_下载及安装Python详细步骤
  9. 杭电信工2018期末c语言试卷,2018C程序设计期末试卷(2018杭电A卷).doc
  10. urlencode python_python爬虫之url中的中文问题
  11. 如何开展灰盒测试[1]:灰盒测试优缺点分析
  12. 动态so库的链接:运行时链接和编译时链接
  13. 冯·卡门:用数学武装工程科学
  14. php 500 yii,yii2.0出现500错误怎么办
  15. 【Linux】linux服务器下包管理器
  16. kafka 怎么样连接图形化界面_从零开始搭建Kafka+SpringBoot分布式消息系统
  17. iRobot 的 30 年成长史
  18. php主页修改软件,程序安装后依然是老版主页的修改办法
  19. [2018.10.11 T3] 欠钱
  20. z77主板可以用nv_刚和吧友讨论了z77加装nvme固态的问题。在这重开一帖。

热门文章

  1. 宁波网络推广分享能让新站提升收录的技巧!
  2. 怎么做网络推广浅析有关404页面优化的技巧
  3. 北大计算机考研考什么时候,北大计算机考研复习计划有哪些
  4. pythonwith作用_老生常谈Python startswith()函数与endswith函数
  5. airtestide 下载后打不开_微信收到CAD图纸打不开怎么办?2种方法教你手机CAD快速看图...
  6. c语言if(!k1)x=1,C语言选择题题库2
  7. 在jupyter notebook中attr1参数的作用_PID控制中P、I、D参数的作用究竟是什么?
  8. 数据集标注工具_如何提高数据标注质量,提供精细化标注数据集?丨曼孚科技...
  9. git清空工作区和暂存区
  10. Spark技术在京东智能供应链预测的应用——按照业务进行划分,然后利用scikit learn进行单机训练并预测...