『Android基础入门』如何为基本控件添加响应
👨🎓作者简介:一位喜欢写作,计科专业大二菜鸟
🏡个人主页:starry陆离
如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦
@TOC
注意:不是教程只是笔记,如有错误欢迎批评指正
1.引言
本笔记是基于有java基础且熟悉使用Android约束布局和基本控件而记录,内容来自于老师的课堂但不限于课堂
2.获取组件ID
第一步:在java文件中获取组件id
可以看到在xml文件里,每一个组件都可以设置id属性,这是唯一能区分每一个组件的标志属性,因此在activity文件中,我们就是通过id来获取这个组件
这样我们就在Activity中获取到了文本组件
小说明:在Activity文件里还可以设置组件的一些基本属性,如文本内容,字体大小,颜色等等
package com.unity3d.lessonapp3; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //第一步 获取到文本控件的id TextView txtView=findViewById(R.id.textView); //在java文件里的值会优先于xml布局文件的值 txtView.setText("湖南中医药大学"); txtView.setTextSize(40); //设置颜色,获取颜色 txtView.setTextColor(getResources().getColor(R.color.purple_200)); } }
3.实现按钮监听
第二步:实现控件监听
实现控件监听,有两种方法,我将由难到易记录,两种方式各有应用场景
方法一:新建类继承 .OnClickListener接口,通过控件绑定实现监听
首先在Activity下创建一个新类,继承View.OnClickListener接口,实现其中的方法,Log.i("hello2","hello2 world");
这一句的作用是打印输出,有两个参数,前者是一个标签区分打印语句,后者是打印输出的内容
但是打印输出的结果并不会呈现在屏幕上,而是在监视台,通过设置的标签way1就可以很快的找到我们的打印语句,每点击一次跳转按钮就会打印一次
方法二:通过匿名内部类来实现事件监听
方法一很适用多个组件都需要实现同类监听,我们就只需要书写一次自定义监听类,通过事件绑定来实现多个组件的事件监听;但是如果我只有一个组件需要实现监听,而且监听的内容很简洁,也需要创建一个自定义类那就太麻烦了,通过匿名内部类就可以解决这个问题
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Log.i("way2","way2:Good Morning!"); } });
拓展:匿名内部类的写法已经很简洁了,但是lambda表达式更加精简了代码
button.setOnClickListener( (view)->{ Log.i("way2.0","way2.0:hello lambda!"); } );