Android 入门第三讲01-Activity的简单逻辑操作((对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)
- 1.Activity的概念
- 2.Activity对UI逻辑进行操作
- 1.对文本,图片进行设置(两种获取控件的方法)
- 2.按钮点击事件
- 点击按钮打印日志
- 获取文本值
- 计算器简易案例实现
Android 入门第二讲05-熟悉as项目文件(manifest,res,build.gradle)+控件可见性+ScrollView+View 和ViewGroup总结
1.Activity的概念
对页面的逻辑操作
举例:
- qq个人资料activity可以改变文本的内容
- 登录界面activity事件响应,获取输入控件值
- activity可以添加点击事件实现activity对应界面之间的跳转和传值,如下 (界面跳转和文本内容改变了 )
2.Activity对UI逻辑进行操作
1.对文本,图片进行设置(两种获取控件的方法)
不加activity代码运行
1.通过activity代码修改以后(普通写法)
activity核心代码
//怎么修改TextView的值? 1.要先拿到对象的引用 通过findviewbyidTextView textView=findViewById(R.id.text);textView.setText(\"今天也要加油鸭!\");//修改文本内容textView.setTextSize(24);//修改文本字体大小textView.setTextColor(getResources().getColor(R.color.colorAccent));//修改文本颜色
对图片进行设置
核心代码
ImageView imageView=findViewById(R.id.imageView);imageView.setImageDrawable(getResources().getDrawable(R.drawable.rose));
2.这里介绍一种新写法,是自从as3.6版本以后出现的新技术
1.首先在build.gradle(app)里面加一句
viewBinding{enabled=true}
然后activity的java代码可以这样写(效果一样)
核心代码
ActivityMainBinding binding=ActivityMainBinding.inflate(getLayoutInflater());setContentView(binding.getRoot());binding.textView.setText(\"今天也要加油鸭\");binding.textView.setTextColor(getResources().getColor(R.color.colorAccent));binding.textView.setTextSize(24);
2.按钮点击事件
点击事件代码讲解(上面是重写onClick方法,下面是采用匿名内部类 效果一样)
三种触发事件方式
点击按钮打印日志
方法一 System.out.println(“打印内容”);
方法二 Log.i(“标签名字”,“打印内容”);(括号内灰色部分不用写,会自动生成)
方法三(应用内打印)
activity核心代码
Button button=findViewById(R.id.button);// button.setOnLongClickListener();//长按触发事件// button.setOnTouchListener();//滑动触发事件// button.setOnClickListener()//点击触发事件//为什么这里可以new一个接口button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// System.out.println(\"点击了一次\");// Log.i(\"onclick\",\"点击了一次\");Toast.makeText(MainActivity.this,\"点击了一次\",Toast.LENGTH_LONG).show();}});
3.获取文本框的值,传递对象类型(应用举例:qq登录密码账号的输入)
获取文本值
核心代码
final EditText editText=findViewById(R.id.editText);Toast.makeText(MainActivity.this,\"点击了一次\"+editText.getText().toString(),Toast.LENGTH_LONG).show();
计算器简易案例实现
activity代码
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button=findViewById(R.id.button2);final EditText editText=findViewById(R.id.editText3);final EditText editText2=findViewById(R.id.editText4);final TextView textView=findViewById(R.id.textView3);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {int num1= Integer.parseInt(editText.getText().toString());int num2= Integer.parseInt(editText2.getText().toString());textView.setText((num1+num2)+\"\");}});}}
为什么要加final—-因为在一个匿名内部类方法要引用方法外面的变量,需要加final
xml代码
<?xml version=\"1.0\" encoding=\"utf-8\"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"xmlns:app=\"http://schemas.android.com/apk/res-auto\"xmlns:tools=\"http://schemas.android.com/tools\"android:layout_width=\"match_parent\"android:layout_height=\"match_parent\"tools:context=\".MainActivity\"><EditTextandroid:id=\"@+id/editText3\"android:layout_width=\"0dp\"android:layout_height=\"wrap_content\"android:layout_marginStart=\"20dp\"android:layout_marginLeft=\"20dp\"android:layout_marginTop=\"49dp\"android:layout_marginEnd=\"19dp\"android:layout_marginRight=\"19dp\"android:ems=\"10\"android:inputType=\"textPersonName\"app:layout_constraintEnd_toStartOf=\"@+id/editText4\"app:layout_constraintStart_toStartOf=\"parent\"app:layout_constraintTop_toTopOf=\"parent\" /><TextViewandroid:id=\"@+id/textView2\"android:layout_width=\"wrap_content\"android:layout_height=\"wrap_content\"android:layout_marginStart=\"20dp\"android:layout_marginLeft=\"20dp\"android:layout_marginEnd=\"20dp\"android:layout_marginRight=\"20dp\"android:text=\"+\"android:textSize=\"24sp\"app:layout_constraintBottom_toBottomOf=\"@+id/editText4\"app:layout_constraintEnd_toStartOf=\"@+id/editText4\"app:layout_constraintStart_toEndOf=\"@+id/editText3\"app:layout_constraintTop_toTopOf=\"@+id/editText4\" /><EditTextandroid:id=\"@+id/editText4\"android:layout_width=\"0dp\"android:layout_height=\"wrap_content\"android:layout_marginEnd=\"212dp\"android:layout_marginRight=\"212dp\"android:ems=\"10\"android:inputType=\"textPersonName\"app:layout_constraintEnd_toEndOf=\"parent\"app:layout_constraintStart_toEndOf=\"@+id/editText3\"app:layout_constraintTop_toTopOf=\"@+id/editText3\" /><Buttonandroid:id=\"@+id/button2\"android:layout_width=\"wrap_content\"android:layout_height=\"wrap_content\"android:layout_marginStart=\"10dp\"android:layout_marginLeft=\"10dp\"android:text=\"=\"app:layout_constraintStart_toEndOf=\"@+id/editText4\"app:layout_constraintTop_toTopOf=\"@+id/editText4\" /><TextViewandroid:id=\"@+id/textView3\"android:layout_width=\"wrap_content\"android:layout_height=\"wrap_content\"android:layout_marginStart=\"10dp\"android:layout_marginLeft=\"10dp\"android:layout_marginBottom=\"9dp\"android:text=\"0\"android:textSize=\"24sp\"app:layout_constraintBottom_toBottomOf=\"@+id/button2\"app:layout_constraintStart_toEndOf=\"@+id/button2\" /></androidx.constraintlayout.widget.ConstraintLayout>
本讲的内容就是这些啦,谢谢您的阅读,下一讲主要讲activity之间的跳转,(这个很重要哦),期待您的再次光顾。
Android 入门第三讲02-Activity之间的跳转与传值(Activity的创建+跳转+关闭,Activity的任务栈,Activity跳转传递数据(普通数据+对象类型)+数据回传,)