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

  

 package com.example.hello;

 import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //定位textView1这个控件
TextView tv1 = (TextView) this.findViewById(R.id.textView1);
//对控件进行赋值,改变显示的内容
tv1.setText("你好,Android"); final TextView textview = (TextView)findViewById(R.id.textView2);
//根据id获取按钮的控件
Button btn = (Button) this.findViewById(R.id.button1);
//修改按钮的名字
btn.setText("点我");
//给按钮赋予点击事件
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 } @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
} @Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}

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

然后我们看一下运行结果

  

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

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

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


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

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

 package com.example.hello;

 import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast; public class btnClickListen implements OnClickListener { private Context context; public btnClickListen (Context c) {
this.context = c;
} @Override
public void onClick(View v) {
Toast t = Toast.makeText(context, "点解要点我", Toast.LENGTH_LONG);
t.show(); } }
 package com.example.hello;

 import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //定位textView1这个控件
TextView tv1 = (TextView) this.findViewById(R.id.textView1);
//对控件进行赋值,改变显示的内容
tv1.setText("你好,Android"); final TextView textview = (TextView)findViewById(R.id.textView2);
//根据id获取按钮的控件
Button btn = (Button) this.findViewById(R.id.button1);
//修改按钮的名字
btn.setText("点我");
//给按钮赋予点击事件
btn.setOnClickListener( new btnClickListen(this)); } @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
} @Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}

现在是不是好看很多了。

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

Android菜鸟成长记4-button点击事件的更多相关文章

  1. Android开发-之监听button点击事件

    一.实现button点击事件的方法 实现button点击事件的监听方法有很多种,这里总结了常用的四种方法: 1.匿名内部类 2.外部类(独立类) 3.实现OnClickListener接口 4.添加X ...

  2. Android菜鸟成长记14 -- AsnyTask

    本篇随笔将讲解一下Android的多线程的知识,以及如何通过AsyncTask机制来实现线程之间的通信. 一.Android当中的多线程 在Android当中,当一个应用程序的组件启动的时候,并且没有 ...

  3. Android菜鸟成长记6 -- 网络连接的检查

    在android开发中我们要经常考虑到各种问题.在开发android应用时,涉及到要进行网络访问,时常需要进行网络状态的检查,以提供给用户必要的提醒.一般可以通过ConnectivityManager ...

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

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

  5. Android菜鸟成长记10 -- ListVew

     ListView在我们学习Android的过程中是非常重要得一个部分. listview主要有两个职责 1)将数据填充到布局. 2)处理用户的选择点击等操作. 一个ListView的创建需要3个元素 ...

  6. Android菜鸟成长记15 -- BitMap

    BitMap简介 Bitmap是Android系统中的图像处理的最重要类之一.用它可以获取图像文件信息,进行图像剪切.旋转.缩放等操作,并可以指定格式保存图像文件.本文从应用的角度,着重介绍怎么用Bi ...

  7. Android菜鸟成长记9 -- selector的用法

    在项目开发的时候,由于系统给出的控件不够美观,因此开发时领导常常要我更改下界面,用美工给的图片取代系统图片.开始时,我只是给按钮等设置一下背景图片,这样做虽然美观了,但界面看起来却比较死板,比如用户点 ...

  8. Android菜鸟成长记8 -- 布局实践(微信界面的编写)

    前面我们简单的介绍了一下android的五大布局,那么现在我们来实践一下,写一个简单的微信界面 首先,我们新建一个weixin.xml的linnerlayout布局 我们日常使用的微信,从简单的方面来 ...

  9. Android菜鸟成长记7 -- Android的五大布局

    Android五大布局,相信android的都了解过,今天我根据自己的学习整理一下五大布局,主要介绍的是线性布局(LiearLayout),因为,其他的布局使用率不是很高. Android的五大布局 ...

随机推荐

  1. struts2 的验证框架validation如何返回json数据 以方便ajax交互

    struts2 的验证框架validation简单,好用,但是input只能输出到jsp页面通过struts2的标签<s:fielderror  />才能取出,(EL应该也可以). 如果使 ...

  2. Razor基础语法简介

    http://blog.csdn.net/pasic/article/details/7072340 Razor的出现,使页面看起更加简洁,Razor的页面后缀为:.cshtml Razor基础语法: ...

  3. [转]Vs解决方案的目录结构设置和管理

    原文地址:[转]Vs解决方案的目录结构设置和管理 作者:大明   以下内容为“原创”+“转载” 首先,解决方案和项目文件夹包含关系(c++项目): VS解决方案和各个项目文件夹以及解决方案和各个项目对 ...

  4. Linux安装gcc编译器详解

    本人使用的是CentOS 6.5 64位系统,由于在安装系统的时候并没有勾选安装gcc编译器,因此需要自行安装gcc编译器. 使用yum安装gcc 对于配备了yum的Linux发行版而言,安装gcc编 ...

  5. 入口点函数的19种消息,AcRxArxApp只处理16种。

    AcRx::AppMsgCode一共有19种消息. 但由IMPLEMENT_ARX_ENTRYPOINT宏实现的App类,只处理了16种消息. 缺: kSuspendMsg = 16,    kIni ...

  6. 【mysql】一维数据TopN的趋势图

    创建数据表语句 数据表数据 对上述数据进行TopN排名 select severity,sum(count) as sum from widgt_23 where insertTstamp>=' ...

  7. <<敏捷开发>>读书笔记

    1.走进敏捷 * 组织成功 增加业务专家,较少bug和测试的交流成本,即使取消不好的技术 首先发布最有价值的特性,时常发布新的版本,即使改进软件 * 技术成功 结对编程,代码审核,确保同一份代码有不同 ...

  8. 特效合集(原生JS代码)适合初学者

    1.返回顶部(完全兼容各个浏览器,不含美化) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" & ...

  9. [Tex学习]WinEdit 常用软件快捷键

    WinEdit 常用软件快捷键 编辑: Alt+C:在剪贴板原有复制文本后增加新的被选择的文本. Ctrl+Shift+Alt+Right/Left:对选中文本增加或者删除Comment标记. Ctr ...

  10. silverlight简单数据绑定1

    数据绑定是用户界面与数据源之间的媒介:通过绑定可以使数据在界面和数据源之间传递交流.数据绑定由System.Windows.Data命名空间的Binding对象完成. 创建绑定的数据对象类. .cs类 ...