创建一个简单的问答选择项目

简介

这是一个简单的问答选择项目,界面上显示问题,然后点击“正确”或“错误”按钮,系统给出是否回答正确的提示。

例如:
问题:1+1是否等于2?
选项:是的 不是
给出提示:选择“是的”弹出提示‘回答正确’;选择“不是”弹出提示‘回答错误’。

具体实现

打开AS,新建一个项目,并选择Empty Activity


设置项目的名称,并将语言改为Java,

等待加载完成后,系统就会自动打开MainActivity.java和activity_main.xml文件

点进activity_main.xml(不要看代码哈,我写这篇文章是我开发完成之后写的,代码是完成之后的样子)

点击下面的 Design 切换到设计页面,可以手动选择需要创建的东西到右侧的界面中,代码也会随着改变

在这里需要说明一下,我们创建任何界面都需要一个承载界面,也就是layouts(布局),相当于画图需要画布;然后文本框 按钮都是放在这个承载界面上的,明白这个道理就好办了

这里我选择的是一个垂直线性布局LinearLayout组件;

点击下面的 text 查看代码可以看到 LinearLayout 标签对(系统默认的代码我们可以删除了,我们用自己的布局)

这里解释一下
match_parent表示让当前控件的大小和父布局的大小一样,也就是由父布局来决定当前控件的大小
wrap_content表示让当前的控件大小能够刚好包含里面的内容,也就是由控件内容决定当前控件的大小

承载布局界面准备好之后我们就上其他组件了
文本显示组件TextView组件;选择Text–TextView拖动组件到你想要到达的位置

上按钮组件,我这两个按钮是放在一个LinearLayout组件里的

组件加好之后我们去看代码页

重点介绍一下里面的一些参数
android:text
这是按钮或者文本框默认的内容,比如按钮创建之后一般都是button,我想改成“正确”可以直接在此修改:android:text=“正确”,我这里是设置的一个变量参数,变量参数在app-res-values-strings.xml进行配置,android:text="@string/question_text" 中 question_text 就是变量的参数名称。

android:id
这是给这个组件添加标记id,有编程基础的应该都知道,这就类似于给这个组件起一个名称,用于区分这个组件;后台监听按钮会用到。

我看一下strings.xml

其中app_name 是系统自动存在的,是我们这个app的名称,我改了一个名称

接下来就是看后台的具体实现了MainActivity.java,代码中我都加了注释了,应该可以看懂

大致的逻辑就是,后台监听界面上的两个按钮,true_button和false_button,当点击的是正确按钮true_button时,下面弹出正确的显示内容correct_toast(correct_toast是变量,也是在strings.xml配置的),当前端点击错误按钮false_button时,下面弹出错误的显示内容incorrect_toast。

代码文件

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="24dp"android:text="@string/question_text" /><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid:id="@+id/true_button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/true_button" /><Buttonandroid:id="@+id/false_button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/false_button" /></LinearLayout></LinearLayout>

strings.xml

<resources><string name="app_name">真心问答</string><string name="question_text">作者是不是大帅哥?</string><string name="true_button">是的</string><string name="false_button">不是</string><string name="correct_toast">恭喜你,回答正确!</string><string name="incorrect_toast">很遗憾,你回答错误!</string>
</resources>

MainActivity.java

package com.example.geoquiz;import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;public class MainActivity extends AppCompatActivity {private Button mTrueButton;//正确 按钮private Button mFalseButton;// 错误 按钮@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mTrueButton = (Button) findViewById(R.id.true_button);//获取“正确”按钮,true_button为按钮的id//监听“正确”按钮mTrueButton.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v){/*1 // 第一个参数:当前的上下文环境。可用getApplicationContext()或this2 // 第二个参数:要显示的字符串。也可是R.string中字符串ID3 // 第三个参数:显示的时间长短。Toast默认的有两个LENGTH_LONG(长)和LENGTH_SHORT(短),也可以使用毫秒如2000ms4 Toast toast=Toast.makeText(getApplicationContext(), "默认的Toast", Toast.LENGTH_SHORT);5 //显示toast信息6 toast.show();* *///弹出提示Toast.makeText(MainActivity.this,R.string.correct_toast,Toast.LENGTH_SHORT).show();//Does nothing yet,but soon!}});mFalseButton = (Button) findViewById(R.id.false_button);mFalseButton.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v){Toast.makeText(MainActivity.this,R.string.incorrect_toast,Toast.LENGTH_SHORT).show();//Does nothing yet,but soon!}});}
}

实现效果


总结完毕

小灰灰的APP学习之路(三)--创建一个简单的问答选择项目相关推荐

  1. 小灰灰的APP学习之路(二)--创建第一个Hello World项目

    Hello World项目 1.打开工具 点击'Start a new Android Studio project' 选择'Empty Activity',创建一个空的activity 2.输入项目 ...

  2. 小灰灰的APP学习之路(一)--开发工具安装

    开发工具安装 在这之前说点废话,本系列是我自己的一点经验记录,防止遗忘,各位大佬勿喷,望指教.我是java基础,现在自己学习APP开发. 1.下载开发工具 在网上看一些初学者都是用Android St ...

  3. Django学习:用RGF创建一个简单的网页框架!(实用性感觉很强!!)

    文章目录 1.安装djangorestframework 2.在model.py中添加数据 3.在views.py中写入代码 4.在urls.py中写入路由 5.在serializers.py中写入代 ...

  4. 【itext学习之路】--1.创建一个简单的pdf文档

    来源:https://blog.csdn.net/tomatocc/article/details/80666011 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文 ...

  5. MUI学习之路---了解MUI,MUI的第一个项目和页面的跳转

    MUI MUI概述: MUI是一款APP的前端框架 进入官网可以浏览更加全面的API MUI官网 特点: 追求性能体验,是启动MUI项目的首要目标,轻量必然是重要特征: MUI不依赖任何第三方JS库, ...

  6. 学习在Unity中创建一个动作RPG游戏

    游戏开发变得简单.使用Unity学习C#并创建您自己的动作角色扮演游戏! 你会学到什么 学习C#,一种现代通用的编程语言. 了解Unity中2D发展的能力. 发展强大的和可移植的解决问题的技能. 了解 ...

  7. JavaScript学习笔记(三)——从简单模仿到创作

    JavaScript学习笔记(三)--从简单模仿到创作 目前我先列好提纲,利用每晚和周末的闲暇时间,将逐步写完 ^_^ 转载于:https://www.cnblogs.com/mixer/archiv ...

  8. idea建立一个java工程_IntelliJ IDEA(三、各种工程的创建 -- 之一 -- 创建一个简单的Java工程)...

    一.创建一个简单的Java工程:HelloWorld 1. Eclipse的第一步是选择工作空间,然后创建项目: IDEA不同(没有工作空间的概念),第一步就直接创建具体的项目,项目创建过程中会选择在 ...

  9. 搭建vue项目环境以及创建一个简单的vue的demo

    一.vue-cli脚手架的搭建步骤 1.首先,确定你的电脑上已经安装了nodejs,可以使用npm包管理器安装环境,如果还没有安装node环境,则需要安装node.js 这个很简单    默认点击安装 ...

最新文章

  1. zipfile java 解压速率,使用java.util.ZipFile在同一层次中解压缩zipfile
  2. 【错误记录】Android 内存泄漏 错误排查记录 ( FinalizerReference 内存泄漏 )
  3. TOMCAT的域名配置
  4. 终于有人把文本分类讲明白了!
  5. LeetCode MySQL 550. 游戏玩法分析 IV
  6. 如何修改7 服务器配置,centos7修改服务器配置
  7. 【学习Android NDK开发】Type Signatures(类型签名)
  8. Spring之 Bean的自动装配
  9. 鸿蒙测试版苹果,华为鸿蒙OS 2.0开发者Beta新增招募 苹果macOS 11.4测试版发布
  10. SAS 9.13作图—gchart命令
  11. C#十进制与十六进制转换
  12. 测试驱动开发(TDD)在海外组的实践总结
  13. utc时间 单位换算_utc时间(utc时间转换北京时间)
  14. 压力传感器与51单片机C语言程序,51单片机压力传感器.docx
  15. 每个国家的邮政编码查询
  16. 这一次,除了骂阿里云,还能做些什么?
  17. 资讯汇总230212
  18. JavaScript高级编程语言基础语法
  19. 后缀为.ec的文件如何打开后默认用c语言的高亮
  20. 一步一步完成Flutter应用开发-掘金App搜索,我的,发现,发布沸点

热门文章

  1. 乔布斯最后付出心血最多的是iPhone 5而非iPhone 4S
  2. AE学习笔记一:绘制其他形状和取消填充
  3. 干掉保险丝和继电器,自动驾驶才能更安全
  4. 卸载Photoshop
  5. Javescript第二周学习
  6. 高博RGBD SLAM
  7. meanshift原理与代码详解
  8. web端安全测试工具
  9. 35、sparkSQL及DataFrame
  10. 根据epc和ra定位linux kernel panic位置