金老师AndroidHomeworkOne

入坑

  入坑Android Studio,感觉安卓.xml+.kt有点像java scenebuilder之下的.fxml+.java呢。里面.xml文件控制界面布局,.kt文件做逻辑处理,还好上学期糊过java大作业,上手不是特别困难,就是Kotlin没分号看起来很难受…
在这里插入图片描述
  UI控件最基础的两个属性:引用id和文本


在这里插入图片描述
  在res->values->strings.xml中定义所需的字符串

计算年龄在这里插入图片描述

  就只有三个部分,输入文本、显示文本、提交按钮,就给Button一个Listener,当按钮按下时检测输入文本并对显示文本做出操作,需要注意的是捕获异常,貌似抛出异常的话模拟器上的程序直接就崩溃了。qwq

package com.example.calaage

import android.graphics.Color
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.text.Editable
import android.view.Gravity
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import java.lang.Exception

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        /*通过findViewById方法和R.id.UIID访问UI控件 */
        val displayedAge = findViewById<TextView>(R.id.displayedAge);
        val birthDate = findViewById<EditText>(R.id.birthDate);
        val ckBtn = findViewById<Button>(R.id.button);

        /*kotlin更改UI控件的属性*/
        displayedAge.setTextColor(Color.RED);
        displayedAge.textSize = 18.0F;
        displayedAge.gravity = Gravity.CENTER;

        /*设置listener */
        ckBtn.setOnClickListener {
            //设置try 否则在非数字的非法输入下程序直接崩溃
            try {
                if (!birthDate.text.isBlank()) {
                    var ans: Int = 2021 - birthDate.text.toString().toInt();
                    displayedAge.text = ans.toString();
                } else displayedAge.text = "请输入出生日期";
            } catch (e : Exception) {
                displayedAge.text = "您输入的东西爆炸了额";
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值