Android_开发_Day25_Button颜色形状状态

Android_开发_Day25_Button颜色形状状态

目的:

学会使用xml去配置UI,提高效率的同时还可以简化代码量。

技术:

<1> Button:

按钮的创建在xml里面就是

方法名 详解
text 设置按钮的文本内容,默认是居中的
textColor 设置字体颜色
textSize 设置字体大小
background 设置背景颜色或是背景图片
onClick 设置点击事件,值是方法名,在mainActivity里面写的

按钮的点击事件的添加有两种方法:
1.直接在xml里面配置onClick,设置点击事件的方法,该方法默认参数是一个View类型的对象,这个参数是系统传过来的,就是被点击的那个按钮,由于系统并不知道是什么类型的按钮因此就直接使用多态用View来接收,因此在使用时要将View转换成对应的类型 。虽然该方法简单但是容易出错,不推荐大家使用。
2.在代码中获取按钮对象,然后setOnClickListener(),参数是要来监听这个事件的类,要监听这个事件就要继承一个View.OnClickListener对象,实现里面的方法,这个类可以用this,也可以new一个匿名类,或者用lambada表达式,如果有多个按钮要设置点击事件推荐使用this统一管理,只要在onClick方法中判断一下是哪个控件来调用的就可以分开写他们各自的方法了,如果他们的方法都相同,那就直接连判断都不用了。

<2> xml状态字体颜色的配置:

要对一个控件比如按钮的形状,以及正常状态和不可用状态,以及按下状态的背景颜色的配置就需要在drawable文件夹下新建一个xml文件进行配置了,每一个配置都分成一个



    
    
    
    
    
    


文件配置好后只要再回到xml里面设置按钮的字体颜色为上面那个自己配置xml文件就行了。注意:上面的代码只能用于字体颜色的配置,因为item里面用的是color,如果要设置背景就可以用drawable属性,也就是图片,也就是说以后所有涉及到字体颜色的东西都可以这样来配置字体颜色。

<3> xml配置形状和颜色:

要对一个控件的形状进行改变,就需要配置控件的xml,配置方法跟上面的相似,同样在drawable文件夹下新建一个xml文件,然后将默认的selector改成shape,在shape中有一些形状,比如rectangle,就是控件的整体形状是矩形,现就以矩形为例来介绍其中的参数,其他的形状是一样的:

项目名称 属性 详解
corners radius 设置圆角矩形圆角的半径
solid color 设置矩形填充的颜色
stroke color,width,dashWidth,dashGap 设置线框颜色,设置线框粗细,设置线框为虚线并设置虚线的宽度,设置虚线间隔
gradient startColor,centerColor,endColor,gradientRadius,type 设置渐变的起始,中间,结束的颜色,设置渐变半径(仅当type为radial时可用),设置渐变的类型,有线性,有辐射型,有扫描型。

技术如何使用:

编写一个程序实现两个按钮来回出现,即当我点击一个按钮时另一个按钮出现,这个按钮消失,当我点击另一个按钮时另一个按钮消失这个按钮出现,分析,首先我们需要在xml里面配置两个按钮,然后再代码里设置点击事件,彼此都设置点击事件然后彼此唤醒对方,xml里面的代码如下:




    
    


xml配置形状和颜色

xml里面配置按钮
下面是具体实现的代码:

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    Button edit;
    Button done;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edit = findViewById(R.id.bt_edit);
        done = findViewById(R.id.bt_done);
        edit.setOnClickListener(this);
        done.setOnClickListener(this);
        done.setVisibility(View.INVISIBLE);
    }

    @Override
    public void onClick(View view) {
        if (view.getId() == R.id.bt_edit){
            view.setVisibility(View.INVISIBLE);
            view.setEnabled(false);
            done.setVisibility(View.VISIBLE);
            done.setEnabled(true);
        }else {
            view.setVisibility(View.INVISIBLE);
            view.setEnabled(false);
            edit.setVisibility(View.VISIBLE);
            edit.setEnabled(true);
        }
    }
}

实际使用效果:

Android_开发_Day25_Button颜色形状状态_第1张图片
编辑.jpg
Android_开发_Day25_Button颜色形状状态_第2张图片
完成.jpg

总结:

本节内容都比较简单,主要是按钮的监听事件方法主要是两种,以及配置形状颜色等代码。

你可能感兴趣的:(Android_开发_Day25_Button颜色形状状态)