小灰灰的APP学习之路(三)--创建一个简单的问答选择项目
创建一个简单的问答选择项目
简介
这是一个简单的问答选择项目,界面上显示问题,然后点击“正确”或“错误”按钮,系统给出是否回答正确的提示。
例如:
问题: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学习之路(三)--创建一个简单的问答选择项目相关推荐
- 小灰灰的APP学习之路(二)--创建第一个Hello World项目
Hello World项目 1.打开工具 点击'Start a new Android Studio project' 选择'Empty Activity',创建一个空的activity 2.输入项目 ...
- 小灰灰的APP学习之路(一)--开发工具安装
开发工具安装 在这之前说点废话,本系列是我自己的一点经验记录,防止遗忘,各位大佬勿喷,望指教.我是java基础,现在自己学习APP开发. 1.下载开发工具 在网上看一些初学者都是用Android St ...
- Django学习:用RGF创建一个简单的网页框架!(实用性感觉很强!!)
文章目录 1.安装djangorestframework 2.在model.py中添加数据 3.在views.py中写入代码 4.在urls.py中写入路由 5.在serializers.py中写入代 ...
- 【itext学习之路】--1.创建一个简单的pdf文档
来源:https://blog.csdn.net/tomatocc/article/details/80666011 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文 ...
- MUI学习之路---了解MUI,MUI的第一个项目和页面的跳转
MUI MUI概述: MUI是一款APP的前端框架 进入官网可以浏览更加全面的API MUI官网 特点: 追求性能体验,是启动MUI项目的首要目标,轻量必然是重要特征: MUI不依赖任何第三方JS库, ...
- 学习在Unity中创建一个动作RPG游戏
游戏开发变得简单.使用Unity学习C#并创建您自己的动作角色扮演游戏! 你会学到什么 学习C#,一种现代通用的编程语言. 了解Unity中2D发展的能力. 发展强大的和可移植的解决问题的技能. 了解 ...
- JavaScript学习笔记(三)——从简单模仿到创作
JavaScript学习笔记(三)--从简单模仿到创作 目前我先列好提纲,利用每晚和周末的闲暇时间,将逐步写完 ^_^ 转载于:https://www.cnblogs.com/mixer/archiv ...
- idea建立一个java工程_IntelliJ IDEA(三、各种工程的创建 -- 之一 -- 创建一个简单的Java工程)...
一.创建一个简单的Java工程:HelloWorld 1. Eclipse的第一步是选择工作空间,然后创建项目: IDEA不同(没有工作空间的概念),第一步就直接创建具体的项目,项目创建过程中会选择在 ...
- 搭建vue项目环境以及创建一个简单的vue的demo
一.vue-cli脚手架的搭建步骤 1.首先,确定你的电脑上已经安装了nodejs,可以使用npm包管理器安装环境,如果还没有安装node环境,则需要安装node.js 这个很简单 默认点击安装 ...
最新文章
- zipfile java 解压速率,使用java.util.ZipFile在同一层次中解压缩zipfile
- 【错误记录】Android 内存泄漏 错误排查记录 ( FinalizerReference 内存泄漏 )
- TOMCAT的域名配置
- 终于有人把文本分类讲明白了!
- LeetCode MySQL 550. 游戏玩法分析 IV
- 如何修改7 服务器配置,centos7修改服务器配置
- 【学习Android NDK开发】Type Signatures(类型签名)
- Spring之 Bean的自动装配
- 鸿蒙测试版苹果,华为鸿蒙OS 2.0开发者Beta新增招募 苹果macOS 11.4测试版发布
- SAS 9.13作图—gchart命令
- C#十进制与十六进制转换
- 测试驱动开发(TDD)在海外组的实践总结
- utc时间 单位换算_utc时间(utc时间转换北京时间)
- 压力传感器与51单片机C语言程序,51单片机压力传感器.docx
- 每个国家的邮政编码查询
- 这一次,除了骂阿里云,还能做些什么?
- 资讯汇总230212
- JavaScript高级编程语言基础语法
- 后缀为.ec的文件如何打开后默认用c语言的高亮
- 一步一步完成Flutter应用开发-掘金App搜索,我的,发现,发布沸点