Android开发笔记(四)——Button

Button继承自TextView,是TextView的子类。

在要设计的界面添加Button:

其中 match_parent 是匹配父空间, wrap_content 是包含文字内容。
接下来在对应的activity的java代码 MainActivity.java 中声明该Button,

private Button mBtnButton;

添加一个新的activity名称叫 ButtonActivity ,此时 AndroidMainfest.xml 中会自动添加如下声明:


如果没有添加则要自己手动添加,否则会跳转失败。

之后要在 MainActivity.java 中的 onCreate 函数中使用 findViewById 找到该button,接着设置一个点击事件,使其点击之后跳转到新的界面:

mBtnButton=findViewById(R.id.btn_button);
mBtnButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //跳转到Button的演示界面
        Intent intent=new Intent(MainActivity.this,ButtonActivity.class);
        startActivity(intent);
    }
});

文字大小、颜色

之前在TextView中的一些属性在这里同样适用:
例子:

效果:
Android开发笔记(四)——Button_第1张图片

自定义背景形状

矩形四周圆角

  • drawable 中可以自定义一些xml文件。
  • 右键 drawable ——> new ——> Drawable Resource File ,Root element设置为shape,如下图:
    Android开发笔记(四)——Button_第2张图片
  • bg_btn2.xml 中的代码如下:


    

    


Android开发笔记(四)——Button_第3张图片

activity_button.xml 中的代码和效果如下:
Android开发笔记(四)——Button_第4张图片

有描边带圆角

Android开发笔记(四)——Button_第5张图片

Android开发笔记(四)——Button_第6张图片

还有很多效果可以自定义。

自定义按压效果

  • 右键 drawable ——> new ——> Drawable Resource File ,Root element设置为selector,如下图:
    Android开发笔记(四)——Button_第7张图片

Android开发笔记(四)——Button_第8张图片
Android开发笔记(四)——Button_第9张图片

效果展示:
Android开发笔记(四)——Button_第10张图片

点击事件

调用方法

添加属性:

android:onClick="showToast"

showToast 是自己起的方法的名字,想要实现点击出现提示信息的功能。

ButtonAvtivity.java 中添加 showToast 的实现代码:

    public void showToast(View view){
        Toast.makeText(this,"您没有访问该项目的权限!",Toast.LENGTH_SHORT).show();
    }

效果展示:(这里AVD启动太慢了,直接在真机上运行的)

Android开发笔记(四)——Button_第11张图片

不过通常不会在布局中写 onClick 的属性,一般都采用下面的方法。

使用代码

这里对按钮3来进行测试。

来在对应的activity的java代码 ButtonActivity.java 中声明该Button,

private Button mBtn3;

之后要在 ButtonActivity.java 中的 onCreate 函数中使用 findViewById 找到该button,接着设置一个点击事件,实现点击出现提示信息的功能,具体代码如下:

mBtn3.findViewById(R.id.btn_3);
mBtn3.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(ButtonActivity.this,"没有访问该项目的权限!",Toast.LENGTH_SHORT).show();
    }
});

这里不知道为什么在真机和Avd中运行,点击按钮都会闪退。。。

基本上所有的控件都可以设置点击事件,比如说TextView也可,效果如下:
Android开发笔记(四)——Button_第12张图片

你可能感兴趣的:(Android开发笔记(四)——Button)