Android笔记——按钮(Button)

一、常用到的属性:

android:background="@drawable/文件名":调用文件中的背景样式
android:onClick="方法":设置点击事件

二、书写Button控件的背景样式:

(1)书写Button布局样式

<Button
        android:layout_width="宽度"
        android:layout_height="高度"
        android:text="文本"
        android:background="@drawable/文件名"
        android:textColor="字体颜色"
      各种样式...
/>

(2)创建drawable的资源文件

 

 

 

 (3)书写样式

1.Root element:shape

1)android:shape=[形状]
形状有:rectangle | oval | line| ring
shape的形状,默认为矩形,可以设置为矩形(rectangle)、椭圆形(oval)、线性形状(line)、环形(ring)
2)solid指定内部填充色


3)corners定义圆角
其中,radius定义四个角的圆角半径,也可以分别设置四个角的圆角半径:
android:topLeftRadius:左上角的圆角半径
android:topRightRadius:右上角的圆角半径
android:bottomLeftRadius:左下角的圆角半径
android:bottomRightRadius:右下角的圆角半径

4)stroke描边属性:

android:dashWidth:虚线的宽度,0dp代表实线
android:dashGap:虚线的间距

 

2.Root element:selector

1)selector:状态选择器

2)item里面的属性值:
android:state_pressed:是否按压
android:state_focused:是否获取焦点
android:state_selected:是否被选中
android:state_checked:设置勾选是否选中,主要用于checkBox和RadioButton
android:state_checkable:设置勾选是否可用状态
android:state_enabled:设置触摸或点击是否可用状态

 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="15dp">

    <Button
        android:id="@+id/btn01"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:text="按钮1"
        android:background="#f15a22"
        android:textColor="#f6f5ec"/>

    <Button
        android:id="@+id/btn02"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:text="按钮2"
        android:background="@drawable/bg_btn02"
        android:textColor="#f6f5ec"
        android:layout_below="@+id/btn01"
        android:layout_marginTop="10dp"/>

    <Button
        android:id="@+id/btn03"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:text="按钮2"
        android:background="@drawable/bg_btn03"
        android:textColor="#00a6ac"
        android:layout_below="@+id/btn02"
        android:layout_marginTop="10dp"/>

    <Button
        android:id="@+id/btn04"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:text="按钮2"
        android:background="@drawable/bg_btn04"
        android:textColor="#ffffff"
        android:onClick="showToast"
        android:layout_below="@+id/btn03"
        android:layout_marginTop="10dp"/>

</RelativeLayout>

<!--
    android:background="@drawable/文件名":调用文件中的背景样式
    android:onClick="方法":设置点击事件
-->

添加圆角:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid
        android:color="#f15a22"/>
    <corners
        android:radius="20dp"/>
</shape>

 添加描边:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">

    <stroke
        android:width="5dp"
        android:color="#00a6ac"
        android:dashWidth="2dp"
        android:dashGap="2dp"/>
</shape>

添加按压样式:

<?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="#005831"/>
            <corners android:radius="20dp"/>
        </shape>
    </item>
    <item android:state_pressed="false">
        <shape>
            <solid android:color="#412f1f"/>
        </shape>
    </item>
</selector>

(4)添加点击事件

1.第一种方法:

(1)在Button控件布局里面书写:

android:onClick="方法名"

(2)在Activity文件创建方法:

public void 方法名(View view){     

    具体方法;

}

2.第二种方法:

直接在Activity文件给控件添加事件:

获取到的按钮.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                具体方法;
            }
        });

 

 

package com.example.lqh.firstproctect;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

    private Button mBtn3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mBtn3 = (Button) findViewById(R.id.btn03);
        mBtn3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "btn3被点击了", Toast.LENGTH_SHORT).show();
            }
        });
    }
    public void showToast(View view){
        Toast.makeText(this,"btn4被点击了",Toast.LENGTH_SHORT).show();
    }
}

 

posted @ 2021-09-10 14:06  `青红造了个白`  阅读(244)  评论(0编辑  收藏  举报