android studio学习(3)-按钮和事件

文章目录

  • 一、新建一个项目
  • 二、创建按钮
  • 三、按键改变颜色
  • 四、 按键事件

一、新建一个项目

file -> new-> new module
然后就像我们之前第一个APP那样修改名字就好了。
android studio学习(3)-按钮和事件_第1张图片

修改好了后可以在这里选择自己的项目

二、创建按钮

同样的我们在activity_main.xml的里面去创建一个按钮,就像我们之前自己一样


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <Button
        android:id="@+id/takepicture"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:text="take Picture"
        android:textColor="@color/red"
        android:background="@color/black"
        />

LinearLayout>

android studio学习(3)-按钮和事件_第2张图片

这样一个简单的按钮就做好了

三、按键改变颜色

我们可以在drawable里面去创建一个xml,用于我们自己的案件逻辑。
drawable->new->drawable resource file
android studio学习(3)-按钮和事件_第3张图片

并命名为btn 方便我们后面去调用。

在里面去添加两个状态


<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:drawable="@drawable/baseline_accessibility_24"
        android:state_pressed="true"
        />
      
    <item android:drawable="@drawable/baseline_accessibility_new_24"
        />
selector>

然后在activity_main.xml里面去调用这个btn.xml就好了

<Button
        android:id="@+id/takepicture"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:text="take Picture"
        android:textColor="@color/red"
        
        android:background="@drawable/btn"
        />

android studio学习(3)-按钮和事件_第4张图片

android studio学习(3)-按钮和事件_第5张图片
然后你就能看到在按下的时候和松开的时候不同的状态呢

四、 按键事件

按键一般来说分为3种情况,点击,长按和触摸。
在我们的MainActivity.java里面去获取按键然后就能沟看到对应的事件了

public class MainActivity extends AppCompatActivity {

    private AppBarConfiguration appBarConfiguration;
private ActivityMainBinding binding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        binding = ActivityMainBinding.inflate(getLayoutInflater());
        setContentView(R.layout.activity_main);

        Button btn = findViewById(R.id.takepicture); // 定义一个btn去获取刚才定义的按钮

        //点击事件
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.e(TAG, "onClick:" );
            }
        });
        //长按
        btn.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                Log.e(TAG, "onLongClick: ");
                return false;
        }
        });
        //触摸
        btn.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                Log.e(TAG, "onTouch: ");
                return false;
            }
        });
    }
}

android studio学习(3)-按钮和事件_第6张图片

然后我们加载APP过后就能看到对应的事件了,多个touch事件是因为我们长按的过程中有一定的晃动,就会定义为触摸了

你可能感兴趣的:(android-app,android,studio,android,学习)