余老师带你学习智能终端-Android App开发第二章第三节Button

Button

概述

Button继承自TextView,它其实是TextView的子类。这节课主要讲Button的基本属性文字大小、颜色;还有一些自定义背景形状。那我们在实际开发中我们设计师设计出的按钮都不是那些直角的,颜色可以就可以的,都会略带一些圆角,这些我们要如何制作一个Button呐?接下来,我们会通过代码带大家一起制作。还有自定义按压效果,在按钮按下去,会有一个按下去的效果,按下去可能颜色会变深了,这个效果可以通过xml文件制作出来,不需要任何的图片。最后一个是给Button设置一个点击事件,既然Button是继承TextView的,所以TextView也有点击事件,基本上所有的控件都包含点击事件。

演示

1、添加Button按钮,使用的是相对布局,按钮的文字为按钮1,id为btn_1,按钮高度为自身内容的高度,按钮的宽度为父类的宽度,文字的大小为20sp,文字颜色为蓝色,按钮的背景颜色为红色,按钮的高度和宽度可以随意设置大小

<Button 
        android:id="@+id/btn_1"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:text="按钮1"
        android:textSize="20sp"
        android:textColor="#0066FF"
        android:background="#FF0000"/>

在这里插入图片描述
在这里插入图片描述

2、给按钮添加圆角,在activity_main.xml中添加一个Button组件,id为2,背景可以是xml文件,所以创建一个xml文件,在xml文件设置四个角为圆角,圆角的弧度为5dp,填充颜色为橙色
创建新的xml,在drawable-hdpi点击右键选择new file,命名为bg_btn2.xml
activity_main.xml:

<Button 
        android:id="@+id/btn_2"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:text="按钮2"
        android:textSize="20sp"
        android:textColor="#0066FF"
        android:background="@drawable/bg_btn2"
        android:layout_below="@id/btn_1"
        android:layout_marginTop="10dp"/>

bg_btn2.xml:

<?xml version="1.0" encoding="utf-8"?>


<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid
        android:color="#FF9900"
        />

    <corners
        android:radius="5dp"
        />

</shape>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、这个按钮是只有描边,中间是空白的,在activity_main.xml先添加一个Button组件,之后创建bg_btn3.xml文件,在xml文件中设置stroke描边为1dp,描边的颜色为橙色,四个角还是为圆角
activity_main.xml:

<Button 
        android:id="@+id/btn_3"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:text="按钮3"
        android:textSize="20sp"
        android:textColor="#0066FF"
        android:background="@drawable/bg_btn3"
        android:layout_below="@id/btn_2"
        android:layout_marginTop="10dp"/>

bg_btn3.xml:

<?xml version="1.0" encoding="utf-8"?>


<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <stroke
        android:width="1dp"
        android:color="#FF9900">

    </stroke>
    
    <corners
        android:radius="5dp"
        />

</shape>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、添加按压效果,在activity_main.xml中添加Button组件,创建bg_btn4.xml,并在bg_btn4.xml中设置按压效果,android:state_pressed="true"是按压时,按压时颜色为橙色,圆角,android:state_pressed="false"是不按压的效果,不按压时颜色为红色,圆角
activity_main.xml:

<Button 
        android:id="@+id/btn_4"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:text="按钮4"
        android:textSize="20sp"
        android:textColor="#0066FF"
        android:background="@drawable/bg_btn4"
        android:layout_below="@id/btn_3"
        android:layout_marginTop="10dp"/>

bg_btn4.xml:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true">
        <shape>
            <solid android:color="#FF9900"/>
            <corners android:radius="5dp"/> 
        </shape>

    </item>

    <item android:state_pressed="false">
        <shape>
            <solid android:color="#FF0000"/>
            <corners android:radius="5dp"/> 
        </shape>

    </item>

</selector>
 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、添加一个点击事件,先在activity_main.xml中添加一个Button组件,点击效果是bg_btn4,添加点击事件,事件方法为showToast,Toast是在界面上弹出的提示信息,过一两秒之后又会消失;在HelloAndroidActivity.java中的HelloAndroidActivity下添加showToast方法,弹出的信息是松鼠学苑,Toast.LENGTH_SHORT为1秒
activity_main.xml:

<Button 
        android:id="@+id/btn_5"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:text="按钮5"
        android:textSize="20sp"
        android:textColor="#0066FF"
        android:background="@drawable/bg_btn4"
        android:onClick="showToast"
        android:layout_below="@id/btn_4"
        android:layout_marginTop="10dp"/>

HelloAndroidActivity.java:

public void showToast(View view){
        Toast.makeText(this, "松鼠学苑", Toast.LENGTH_SHORT).show();

    }
 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、还有另一种方式完成点击事件,这个方法是比较常用的,在Button4中进行演示,组件Button不用修改,直接通过java代码实现。
HelloAndroidActivity.java:

private Button mBtn3; //声明控件
mBtn3 = (Button)findViewById(R.id.btn_4); //找到控件
        mBtn3.setOnClickListener(new View.OnClickListener(){
        
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Toast.makeText(HelloAndroidActivity.this, "松鼠学苑", Toast.LENGTH_SHORT).show(); //this不在是HelloAndroidActivity了,要改成HelloAndroidActivity.this
            }
        });

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值