Button

同学们都知道Button时按钮的意思,下面第一课就开始讲Button

Button是按钮,各类中常用的一种属性

Button是Text View的子类,Text Viewset Text设置 Button支持set Text

Image Button 没有android.text属性,不能通过setText()来设置内容,但是Button可以

可以为image Button设置图片

可以用android:background来设置图片,那么图片会被拉伸

可以用android:src来设置图片,那么默认图片大小居中

同时设置这两个属性 src属性在上面,background属性在下面

问题:

Android中的image View 和image Button和 Button之间的区别???

1.     继承不同,看API

2.     Image Button不支持set Text(),而Button支持

3.     Image Button 支持set image URL,而Button不支持

4.     Image Button和Button都有Button的状态而image View 没有

5.     显示也有差异

6.     Image Button有默认的背景,显示不了圆角效果

Selector主要是用来改变List View 和Button 控件背景

1.        res目录下新建draw able文件夹

2.        Draw able文件夹中新建**.xml(类型selector)

Button点击事件:大概可以分为以下几种:

1.     匿名内部类

2.     定义内部类,实现OnClickListener接口

3.     定义的构造方法

4.     用Activity实现OnClickListener接口

5.     指定Button的onClick的属性

首先我们简单地定义一个带Button的xml布局文件

activity_main.xml:

<Button
        android:id="@+id/bt1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="点击事件"/>

然后再写Java代码

MainActivity.java:

1.匿名内部类

@Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        bt = (Button) findViewById(R.id.bt1);
        //1.匿名内部类
        bt.setOnClickListener(new OnClickListener() {
            
            @Override
            publicvoid onClick(View v) {
                // TODO Auto-generated method stub
                Log.i("匿名内部类", "点击事件");
            }
        });
}

2.定义内部类,实现OnClickListener接口

publicclass MainActivity extends Activity{
 
    private Button bt;
 
    @Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        bt = (Button) findViewById(R.id.bt);
 
        bt.setOnClickListener(new MyListener());
    }
 
        //定义内部类,实现OnClickListene接口
    class MyListener implements OnClickListener{
 
        @Override
        publicvoid onClick(View v) {
            // TODO Auto-generated method stub
            Log.i("定义内部类,实现OnClickListene接口", "点击事件");
        }
    }
}

3.定义的构造方法

publicclass MainActivity extends Activity{
 
    private Button bt;
 
    @Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        bt = (Button) findViewById(R.id.bt);
 
        myListener();
    }
 
        //定义构造方法
        privatevoid myListener() {
        // TODO Auto-generated method stub
        bt.setOnClickListener(new OnClickListener() {
            
            @Override
            publicvoid onClick(View v) {
                // TODO Auto-generated method stub
                Log.i("定义构造方法", "点击事件");
            }
        });
    }
}

4.用Activity实现OnClickListener接口

publicclass MainActivity extends Activity implements OnClickListener {
 
    private Button bt;
 
    @Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        bt = (Button) findViewById(R.id.bt);
        bt.setOnClickListener(this);
    }
//用Activity实现OnClickListener接口    @Override
    publicvoid onClick(View v) {
        // TODO Auto-generated method stub
        Log.i("用Activity实现OnClickListener接口", "点击事件");
        }
    
}

5.指定Button的onClick的属性:

  先在layout文件中指定onClick属性,然后到Activity中实现这个onButtonClick方法

布局文件:

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="点击事件"/>

Java代码:

publicclass MainActivity extends Activity {
 
    @Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
    }
 
    //5指定onClick属性方式
    publicvoid click(View v) {
        // TODO Auto-generated method stub
        Log.i("指定onClick属性方式","点击事件"); 
    }
}

  另外,多个按钮点击事件的处理,以指定onClick属性方式为例,获取其资源id,通过资源id,可以判断用户点击了哪个按钮了。

布局文件:

 <Button
        android:id="@+id/bt1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="点击事件1"/>
    
       <Button
        android:id="@+id/bt2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="点击事件2"/>
     
       <Button
        android:id="@+id/bt3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="点击事件3"/>/>
    
    <Button
        android:id="@+id/bt4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="点击事件4"/>

Java代码:

publicclass MainActivity extends Activity {
 
    @Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
    }

初级Android如何制作button相关推荐

  1. 怎么用Android做登录界面,利用Android怎么制作一个APP登录界面

    利用Android怎么制作一个APP登录界面 发布时间:2020-12-02 17:09:10 来源:亿速云 阅读:79 作者:Leah 这期内容当中小编将会给大家带来有关利用Android怎么制作一 ...

  2. android页面布局计算机,Android Studio制作简单计算器App

    Android Studio制作简单计算器App 计算机界面如图: 程序设计步骤: (1)在布局文件中声明编辑文件框EditText,按钮Button等组件. (2)在MainActivity中获取组 ...

  3. Android Studio 制作微信界面 上

    工程功能介绍 打开app,首先是个闪屏界面(常见于一般打开app时的小广告),设置时间为2s后进入登录界面.在登录界面中,中间可以输入密码,点击登录按钮进入微信的界面.   微信的界面由4个fragm ...

  4. Android studio制作计算器源代码

    版权声明:本文为博主原创文章,未经博主允许不得转载.https://mp.csdn.net/postedit/82623704 一.Android studio制作计算器源代码 这是我学Android ...

  5. 蓝牙聊天App设计1:Android Studio制作蓝牙聊天通讯软件(UI界面设计)

    前言:蓝牙聊天App设计全部有三篇文章(一.UI界面设计,二.蓝牙搜索配对连接实现,三.蓝牙连接聊天),这篇文章是一.UI界面设计 课程1:Android Studio小白安装教程,以及第一个Andr ...

  6. Android之制作短信发送器

    这次,我们做一个手机都有的功能--发短信,首先,既然是个小软件,新建项目的时候顺便图标也选为短信图标那个.首先我们还是先来实现页面布局,到activity_main.xml添加代码(我的默认是相对布局 ...

  7. android led闪烁功能,详解Android应用层制作LED指示灯

    详解Android应用层制作LED指示灯 在Java应用层修改LED指示灯的颜色,这个花了我半天时间, 才实现该功能! public class LEDActivity extends Activit ...

  8. 蓝牙App设计2:使用Android Studio制作一个蓝牙软件(包含:代码实现等)

    前言:蓝牙聊天App设计全部有三篇文章(一.UI界面设计,二.蓝牙搜索配对连接实现,三.蓝牙连接聊天),这篇文章是:二.蓝牙搜索配对连接实现. 课程1:Android Studio小白安装教程,以及第 ...

  9. Android Studio 制作微信界面 下

    主界面 上一篇文章的链接: Android Studio 制作微信界面 上_nazonomaster的博客-CSDN博客https://blog.csdn.net/nazonomaster/artic ...

最新文章

  1. 【URAL】1091 Tmutarakan Exams
  2. usb 多路摄像头_拆解:升降摄像头的荣耀X10 5G,如何平衡内部空间?
  3. 浪潮信息:企业互联网化下的数据平台升级 | 云·创课程实录
  4. 高精度人脸表情识别 开源代码
  5. 0. 正规鞅的混沌及可料表示
  6. Makefile中 变量赋值含义
  7. 《 双城记 》:无数的平民拥有的只是和她同样的眼睛 ...
  8. OFCMS 项目开源 java cms 系统 内容管理系统
  9. 定值保险计算举例_农村养老保险管理系统(在线查询)https://www.chashebao.com/yanglaobaoxian/17556.h...
  10. 你所掌握的开源,也许都是错的!
  11. 通过输入方式在Android上进行微博OAuth登录
  12. windows 画图
  13. 微型计算机原理及应用是啥,微型计算机原理及应用技术(第3版)
  14. 计算机常用英语术语词汇表
  15. 微信公众平台开发(1)--账号注册流程图文详解
  16. 跟着团子学SAP PS:SAP PS模块常用报表介绍及增强建议
  17. android车载行业前景,车载 Android 系统快来了,但前景可能并不乐观
  18. 2018之后的Unity3d制作AR教程
  19. AttributeError: 'NoneType' object has no attribute 'sc' 解决方法!
  20. Cordova在左,Capacitor在右

热门文章

  1. 自定义属性 data-*
  2. 我的世界java堆肥桶配方,我的世界:别再傻傻的产骨粉了,关于堆肥桶,你可能不知道八件事...
  3. 万能的VMware虚拟机连接不上的解决方法
  4. PDF文本格式转换器下载免费版
  5. 【观察】新华三:融合技术优势和实践经验,推动智慧医疗驶入快车道
  6. 解决引用MICROSOFT.OFFICE.CORE
  7. 计算机毕业设计(附源码)python幼儿健康管理系统
  8. 分析方法,单细胞测序之细胞互作
  9. JavaScript写的对对碰游戏
  10. 是否应该定期给员工做背调?