android社畜模拟器

我的构想是模拟社畜的一天,先做了早上乘车去公司的部分。

xml 复制代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical">
    <TextView
        android:id="@+id/tip"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="在上班的地铁上,你选择什么来打发时间?"/>
    <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="200dp"
        android:text="看小说"/>
    <Button
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="200dp"
        android:text="做题"
        />
    <Button
        android:id="@+id/btn3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="200dp"
        android:text="可乐"
        android:visibility="invisible"/>
    <Button
        android:id="@+id/btn4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="200dp"
        android:text="可乐"
        android:visibility="invisible"/>
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/railway"/>

</LinearLayout>
java 复制代码
package com.example.myapplication5;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class NightActivity extends AppCompatActivity {

    private Button btn1;
    private Button btn2;
    private Button btn3;
    private Button btn4;
    private TextView tip;
    String[] notes={"南宋时期,惨遭灭门横祸的郭靖、杨康分别在江南七怪与全真教道士丘处机的教养下成人。",
            "18年后,郭靖奉师命南下。杨康却贪恋富贵,认贼作父。",
            "郭靖与黄蓉一见如故,彼此倾心,但因华筝之婚约在先,以及江南七怪的反对等多种因素,两人情感可谓一波三折。",
    "五位师父被害于桃花岛,郭靖愤而离开黄蓉。这一对两情相悦的青年,经历了坎坷磨难,才修成正果。恶言恶行的杨康,也难逃惨死在嘉兴铁枪庙中的命运。",
    "郭靖随黄蓉故国万里行,遍识天下武林高人,武功日见提升,终于得以报杀父深仇,消师门积怨,夺武穆遗书,率大军西征,承亡母之教,上华山论剑,救襄阳国难。",
    "这位原本纯朴憨厚、木讷愚钝的射雕英雄,变成一个为国为民、悲天悯人的侠之大者。"};
    int index=0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_night);

        btn1 = findViewById(R.id.btn1);
        btn2 = findViewById(R.id.btn2);
        btn3 = findViewById(R.id.btn3);
        btn4 = findViewById(R.id.btn4);
        tip = findViewById(R.id.tip);
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //文本变成notes[当前索引]
                //隐藏3个按钮,留1个按钮变成继续
                //继续按钮绑定事件:索引+1
                readBook();
            }
        });
        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //文本变成题干
                //按钮变成4个
                question();
            }
        });

    }

    private void readBook() {
        //如果索引到末尾则结束递归
        if(index==notes.length){
            tip.setText("完结。");
            hideAllBtn();
            return;
        }
        //文本变成notes[当前索引]
        tip.setText(notes[index]);
        //继续按钮绑定事件:索引+1
        btn1.setText("继续");
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //错了
                index++;
                readBook();
            }
        });
        //隐藏3个按钮,留1个按钮变成继续
        btn1.setVisibility(View.VISIBLE);
        btn2.setVisibility(View.INVISIBLE);
        btn3.setVisibility(View.INVISIBLE);
        btn4.setVisibility(View.INVISIBLE);

    }

    private void question() {
        //文本变成题干
        tip.setText("下列不可作为java语言标识符的是()");
        btn1.setText("a1");
        btn2.setText("$1");
        btn3.setText("_1");
        btn4.setText("11");
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //错了
                no();
            }
        });
        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //错了
                no();
            }
        });
        btn3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //错了
                no();
            }
        });
        btn4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //正确
                yes();
            }
        });
        //按钮变成4个
        btn1.setVisibility(View.VISIBLE);
        btn2.setVisibility(View.VISIBLE);
        btn3.setVisibility(View.VISIBLE);
        btn4.setVisibility(View.VISIBLE);

    }
    void yes(){
        //文本改成答对了
        tip.setText("答对了");
        //隐藏4个按钮
        hideAllBtn();
    }
    void no(){
        //文本改成答错了
        tip.setText("答错了");
        //隐藏4个按钮
        hideAllBtn();
    }
    void hideAllBtn(){
        btn1.setVisibility(View.INVISIBLE);
        btn2.setVisibility(View.INVISIBLE);
        btn3.setVisibility(View.INVISIBLE);
        btn4.setVisibility(View.INVISIBLE);
    }


}
相关推荐
恋猫de小郭2 小时前
Meta 宣布加入 Kotlin 基金会,将为 Kotlin 和 Android 生态提供全新支持
android·开发语言·ios·kotlin
aqi002 小时前
FFmpeg开发笔记(七十七)Android的开源音视频剪辑框架RxFFmpeg
android·ffmpeg·音视频·流媒体
androidwork4 小时前
深入解析内存抖动:定位与修复实战(Kotlin版)
android·kotlin
梦天20155 小时前
android核心技术摘要
android
szhangbiao6 小时前
“开发板”类APP如果做屏幕适配
android
高林雨露7 小时前
RecyclerView中跳转到最后一条item并确保它在可视区域内显示
android
移动开发者1号10 小时前
ReLinker优化So库加载指南
android·kotlin
山野万里__10 小时前
C++与Java内存共享技术:跨平台与跨语言实现指南
android·java·c++·笔记
Huckings10 小时前
Android 性能问题
android
移动开发者1号10 小时前
剖析 Systrace:定位 UI 线程阻塞的终极指南
android·kotlin