欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

安卓入门第三讲01-Activity的简单逻辑操作(对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)

程序员文章站 2022-04-29 10:31:49
安卓入门第三讲01-Activity(对文本进行设置,按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)1.Activity的概念2.Activity对UI逻辑进行操作1.对文本进行设置2.按钮点击事件点击按钮打印日志3.获取文本框的值(应用举例:qq登录密码账号的输入)获取文本值计算器简易案例实现1.Activity的概念对页面的逻辑操作举例:qq个人资料activity可以改变文本的内容登录界面activity事件响应,获取输入控件值activity可以添加点击事件实现activ...

安卓入门第三讲01-Activity的简单逻辑操作((对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)

1.Activity的概念

对页面的逻辑操作
举例:

  • qq个人资料activity可以改变文本的内容
  • 登录界面activity事件响应,获取输入控件值
  • activity可以添加点击事件实现activity对应界面之间的跳转和传值,如下 (界面跳转和文本内容改变了 )
    安卓入门第三讲01-Activity的简单逻辑操作(对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)

2.Activity对UI逻辑进行操作

1.对文本,图片进行设置(两种获取控件的方法)

不加activity代码运行

安卓入门第三讲01-Activity的简单逻辑操作(对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)
1.通过activity代码修改以后(普通写法)
安卓入门第三讲01-Activity的简单逻辑操作(对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)

activity核心代码

  //怎么修改TextView的值?   1.要先拿到对象的引用   通过findviewbyid
        TextView textView=findViewById(R.id.text);
        textView.setText("今天也要加油鸭!");//修改文本内容
        textView.setTextSize(24);//修改文本字体大小
        textView.setTextColor(getResources().getColor(R.color.colorAccent));//修改文本颜色

对图片进行设置
安卓入门第三讲01-Activity的简单逻辑操作(对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)
核心代码

 
 ImageView imageView=findViewById(R.id.imageView);
 imageView.setImageDrawable(getResources().getDrawable(R.drawable.rose));


2.这里介绍一种新写法,是自从as3.6版本以后出现的新技术
1.首先在build.gradle(app)里面加一句

viewBinding{
        enabled=true
    }

安卓入门第三讲01-Activity的简单逻辑操作(对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)
然后activity的java代码可以这样写(效果一样)
安卓入门第三讲01-Activity的简单逻辑操作(对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)
核心代码

  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方法,下面是采用匿名内部类 效果一样)
安卓入门第三讲01-Activity的简单逻辑操作(对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)
三种触发事件方式
安卓入门第三讲01-Activity的简单逻辑操作(对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)

点击按钮打印日志

方法一 System.out.println(“打印内容”);
安卓入门第三讲01-Activity的简单逻辑操作(对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)
方法二 Log.i(“标签名字”,“打印内容”);(括号内灰色部分不用写,会自动生成)

安卓入门第三讲01-Activity的简单逻辑操作(对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)
方法三(应用内打印)
安卓入门第三讲01-Activity的简单逻辑操作(对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)
activity核心代码

  Button button=findViewById(R.id.button);
//        button.setOnLongClickListener();//长按触发事件
//        button.setOnTouchListener();//滑动触发事件
//        button.setOnClickListener()//点击触发事件

        //为什么这里可以new一个接口
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

//                System.out.println("点击了一次");
//                Log.i("onclick","点击了一次");

                Toast.makeText(MainActivity.this,"点击了一次",Toast.LENGTH_LONG).show();
            }
        });

3.获取文本框的值,传递对象类型(应用举例:qq登录密码账号的输入)

获取文本值

安卓入门第三讲01-Activity的简单逻辑操作(对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)
核心代码

      final EditText editText=findViewById(R.id.editText);
 Toast.makeText(MainActivity.this,"点击了一次"+editText.getText().toString(),Toast.LENGTH_LONG).show();

计算器简易案例实现

安卓入门第三讲01-Activity的简单逻辑操作(对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)
安卓入门第三讲01-Activity的简单逻辑操作(对文本,图片进行设置(两种获取控件的方法),按钮点击-点击按钮打印日志,获取文本框的值+计算器简易案例)
activity代码

public class MainActivity extends AppCompatActivity {

    @Override
    protected 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() {
            @Override
            public 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">

    <EditText
        android: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" />

    <TextView
        android: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" />

    <EditText
        android: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" />

    <Button
        android: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" />

    <TextView
        android: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之间的跳转,(这个很重要哦),期待您的再次光顾。

本文地址:https://blog.csdn.net/qq_46526828/article/details/107272313