二、Button
一:前端页面显示
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <Button android:id="@+id/btn" android:text="按钮1" android:background="@drawable/btn_selector" android:backgroundTint="@color/btn_color_selector" android:layout_width="200dp" android:layout_height="100dp" android:onClick="leoClick"/> </LinearLayout>
二:后台调用Button的事件
主要三种事件:1.点击事件 2.长按事件 3.触摸事件
package com.example.mybutton; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { private static final String TAG = "leo"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn= findViewById(R.id.btn); //点击事件 btn.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view) { Log.e(TAG,"onClink:"); } }); //长按事件 btn.setOnLongClickListener(new View.OnLongClickListener(){ @Override public boolean onLongClick(View view) { Log.e(TAG,"onLongClick:"); return false; } }); //触摸事件 btn.setOnTouchListener(new View.OnTouchListener(){ @Override public boolean onTouch(View view, MotionEvent motionEvent) { Log.e(TAG,"onTouch:"+motionEvent.getAction()); return false; } }); } public void leoClick(View view) { Log.e(TAG,"OnClink:"); } }
三:实现悬浮或者点击时,样式的切换
入下图所示,通过drawable中selector实现图标的更改