小白开发安卓程序之路(2-3)Button(大小、颜色、按压事件、点击事件)

小知识

  1. 配色时点击左边色块可以直接选颜色:
    在这里插入图片描述
    在这里插入图片描述
  2. 类名红色显示有错时鼠标移到那个类名上,按Alt+Enter 导入相应的包

Button

实战:

MainActivity.java:

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    private Button mbtnTextView;
    private Button mbtnButton;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mbtnTextView=findViewById(R.id.btn_textview);
        mbtnTextView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //跳转至TextView演示界面
                Intent intent=new Intent(MainActivity.this,TextViewActivity.class);
                startActivity(intent);
            }
        });
        mbtnTextView=findViewById(R.id.btn_button);
        mbtnTextView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //跳转到Button演示界面
                Intent intent=new Intent(MainActivity.this,ButtonActivity.class);
                startActivity(intent);
            }


        });
    }
}

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
    <Button
        android:id="@+id/btn_textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="TextView"/>
    <Button
        android:id="@+id/btn_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Textbutton"/>

</LinearLayout>

ButtonActivity.java:

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class ButtonActivity extends AppCompatActivity {
    private Button mbtn3;
    private TextView tv1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button);
        mbtn3=findViewById(R.id.btn_3);
        mbtn3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(ButtonActivity.this,"button3被点击了",Toast.LENGTH_LONG).show();
            }
        });
        tv1=findViewById(R.id.tv_1);
        tv1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(ButtonActivity.this,"tv1被点击了",Toast.LENGTH_LONG).show();
            }
        });
    }
    public void showToast(View view){
        Toast.makeText(this,"button4被点击了",Toast.LENGTH_LONG).show();
    }
}

activity_button.xml:

  1. btn1 文字大小、颜色
  2. btn2 自定义背景形状
  3. btn3 自定义按压事件
  4. btn4 tv1 点击事件
<?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="10dp"
>
    <Button
        android:id="@+id/btn_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="按钮1"
        android:textSize="30sp"
        android:textColor="#3F51B5"
        android:background="#FFEB3B"/>
    <Button
        android:id="@+id/btn_2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="按钮2"
        android:textSize="35sp"
        android:textColor="#7EFFFFFF"
        android:layout_below="@id/btn_1"
        android:layout_marginTop="10dp"
        android:background="@drawable/bg_btn_2" />
    <!--新建了一个drawable文件 定义为shape,写为矩形并设置了圆角,填充颜色等属性,
    这里的background则直接调用
        另外因为是相对布局,所以需要设置相对位置-->
    <Button
        android:id="@+id/btn_3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="按钮3"
        android:textSize="35sp"
        android:textColor="#9C6AED"
        android:layout_below="@id/btn_2"
        android:background="@drawable/bg_btn_3"/>
    <!--描边带圆角
    这个也是有点击事件的,但与btn4不同,
    这个的点击事件是在ButtonActivity.java的onclick方法中设置的-->
    <Button
        android:id="@+id/btn_4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="按钮4"
        android:textSize="35sp"
        android:textColor="#E86767"
        android:layout_below="@id/btn_3"
        android:background="@drawable/bg_btn_4"
        android:onClick="showToast"/>
    <!--新建了一个showToast方法赋给了onClick,也就是点击时就会激活showToast,
    这个方法需要在ButtonActivity.java中定义
    background引用lbg_btn_4,一个新建的drawable文件,是否点击对应两种不同状态-->
    <TextView
        android:id="@+id/tv_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="#000000"
        android:textSize="20sp"
        android:text="文字"
        android:layout_below="@id/btn_4"
        android:layout_marginTop="30dp"
        android:background="#FFAD33"
        android:gravity="center"/>
    <!--这个是一个可以被点击的文字,与btn4不同,
    这个的点击事件是在ButtonActivity.java的onclick方法中设置的-->

</RelativeLayout>

bg_btn——2.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!--    矩形-->
    <solid
        android:color="#51F4E1"/>
    <!--    填充颜色-->
    <corners
        android:radius="8dp"/>
    <!--    圆角-->
</shape>

bg_btn_3.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 "/>
    <!--    描边-->
    <corners
        android:radius="8dp"/>
    <!--    圆角-->
</shape>

bg-btn_4.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="#2A9FAE"/>
            <corners android:radius="5dp"/>
        </shape>
    </item>
    <!--按压时    -->
    <item android:state_pressed="false">
        <shape>
            <solid android:color="#79EDFD"/>
            <corners android:radius="5dp"/>
        </shape>
    </item>
    <!--未按压    -->


</selector>

效果:
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值