移动应用开发技术——Android Studio实验二——Activity的调用——竹园摘竹子
掌握线性布局和相对布局的使用方法
掌握基本控件的属性功能及使用方法
掌握Activity的数据回传
通过线性布局和相对布局来搭建两个Activity界面,界面效果如下图所示。当点击“去竹园按钮后”,跳转到第二个界面。在第二个界面中,点击界面中间竹子,可统计摘取竹子数并使对应竹子图片消失。点击退出竹园按钮后,返回第一个界面,并将摘取竹子数显示到竹子图片后方。
布局与控件的用法
使用Activity的数据回传实现实验要求
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"xmlns:http="http://schemas.android.com/apk/res-auto"android:background="@drawable/bg"><LinearLayoutandroid:id="@+id/ll_1"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#009366"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="首页"android:textSize="25sp"android:gravity="center"android:layout_margin="10dp"android:textColor="#FFFFFF"/></LinearLayout>
<RelativeLayoutandroid:layout_below="@+id/ll_1"android:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:id="@+id/iv_1"android:src="@drawable/panda"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"/><ImageButtonandroid:id="@+id/imbtn_1"android:layout_width="100dp"android:layout_height="50dp"android:layout_alignTop="@+id/iv_1"android:layout_toRightOf="@+id/iv_1"android:layout_marginLeft="50dp"android:background="@drawable/btn_peach"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="去竹园"android:layout_alignTop="@+id/imbtn_1"android:layout_alignLeft="@+id/imbtn_1"android:layout_marginLeft="25dp"android:layout_marginTop="15dp"android:textSize="15sp"/><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/bamboo"android:layout_below="@+id/imbtn_1"android:layout_marginTop="20dp"android:layout_toRightOf="@+id/iv_1"android:layout_marginLeft="20dp"android:id="@+id/iv_2"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_toRightOf="@+id/iv_2"android:layout_alignTop="@+id/iv_2"android:layout_marginLeft="10dp"android:text="去采摘吧"android:textSize="30sp"android:textColor="#000"android:id="@+id/tv_1"/></RelativeLayout></RelativeLayout>
MainActivity.java
package com.example.shiyan2;import androidx.appcompat.app.AppCompatActivity;import android.content.Context;
import android.content.Intent;
import android.content.pm.Attribution;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.os.Bundle;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ImageButton imbtn_1=(ImageButton) findViewById(R.id.imbtn_1);imbtn_1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent=new Intent(MainActivity.this,ZhuyuanActivity2.class);startActivityForResult(intent,1);}});}@Overrideprotected void onActivityResult(int requestCode,int resultCode,Intent intent){super.onActivityResult(requestCode,resultCode,intent);if(requestCode==1){if(resultCode==1){TextView tv=findViewById(R.id.tv_1);tv.setText("摘到"+intent.getIntExtra("bamboo_number",0)+"个");}}}
}
activity_zhuyuan2.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/tree_bg"><LinearLayoutandroid:id="@+id/ll_2"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#009366"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="首页"android:textSize="25sp"android:gravity="center"android:layout_margin="10dp"android:textColor="#FFFFFF"/></LinearLayout><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_below="@+id/ll_2"><ImageViewandroid:id="@+id/iv_3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:src="@drawable/tree" /><ImageButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/bamboo"android:id="@+id/im_btn_1"android:layout_alignTop="@+id/iv_3"android:layout_centerHorizontal="true"android:layout_marginTop="25dp"/><ImageButtonandroid:id="@+id/im_btn_2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignTop="@+id/im_btn_1"android:layout_marginLeft="100dp"android:layout_marginTop="80dp"android:background="@drawable/bamboo" /><ImageButtonandroid:id="@+id/im_btn_3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignTop="@+id/im_btn_1"android:layout_marginTop="80dp"android:layout_marginLeft="220dp"android:background="@drawable/bamboo" /><ImageButtonandroid:id="@+id/im_btn_4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignTop="@+id/im_btn_1"android:layout_marginTop="160dp"android:layout_marginLeft="270dp"android:background="@drawable/bamboo" /><ImageButtonandroid:id="@+id/im_btn_5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignTop="@+id/im_btn_1"android:layout_marginTop="160dp"android:layout_marginLeft="160dp"android:background="@drawable/bamboo" /><ImageButtonandroid:id="@+id/im_btn_6"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignTop="@+id/im_btn_1"android:layout_marginTop="160dp"android:layout_marginLeft="60dp"android:background="@drawable/bamboo" /><ImageButtonandroid:layout_width="100dp"android:layout_height="50dp"android:layout_below="@+id/iv_3"android:background="@drawable/btn_peach"android:layout_alignRight="@+id/iv_3"android:layout_marginTop="20dp"android:id="@+id/im_btn_7"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignTop="@+id/im_btn_7"android:text="退出竹园"android:textColor="#000"android:layout_alignLeft="@id/im_btn_7"android:textSize="15sp"android:layout_marginLeft="20dp"android:layout_marginTop="15dp"/></RelativeLayout></RelativeLayout>
ZhuyuanActivity2.java
package com.example.shiyan2;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;import java.util.ArrayList;
import java.util.List;public class ZhuyuanActivity2 extends AppCompatActivity {
protected int bamboo=0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_zhuyuan2);List<ImageButton> imts=new ArrayList<ImageButton>();Resources res =getResources();for(int i=1;i<=6;i++){int id=res.getIdentifier("im_btn_"+i,"id",getPackageName());ImageButton zhuzi=findViewById(id);imts.add(zhuzi);}for (ImageButton imageButton:imts){imageButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {bamboo++;imageButton.setBackground(null);}});ImageButton back=findViewById(R.id.im_btn_7);back.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent=new Intent();intent.putExtra("bamboo_number",bamboo);setResult(1,intent);finish();}});}}
}
小专题讲解
六个竹子一个一个建立对象编写点击事件太麻烦
直接两个循环解决问题
先搞一个list集合类
用于等会循环把按钮对象全装进去
还得弄个这
Resources res =getResources();
等会获取id好用
看循环
一个一个装进集合里面
然后foreach都遍历一遍 都装上监听器
把点击事件弄成点击后bamboo加一 然后把背景background点成null空 就形成了点击后消失还能计数的效果
实验结果
主页面
点击去竹园按钮前往下一个activity
竹子点击后消失 是因为设置了点击后setbackground=null 并计数 待会传回第一个界面
这里点击了三个imagebutton计数3,点击退出竹园 通过finish()返回上个activity 通过intent传输数据
移动应用开发技术——Android Studio实验二——Activity的调用——竹园摘竹子相关推荐
- android studio实验二 Activity及常用布局和控件的使用
实验内容 1.创建一个Android应用,创建一个Android应用,创建MainActivity和LoginActivity. 2.在MainActivity中的onCreate,onStart,o ...
- 基于Android的健康医疗论坛的设计与开发(android studio)
提示:文章为原创,仅供参考 基于Android的健康医疗论坛的设计与开发(android studio,提供源码) 提供源码:链接:https://pan.baidu.com/s/1JnbfJ67UC ...
- 【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )
文章目录 I . 源码编译配置 II . 构建脚本配置 III . NDK 函数库打包配置 IV . Java 与 C 代码示例 V . CMake 配置 ( CMakeLists.txt ) VI ...
- 安卓学习笔记01:安装集成开发环境Android Studio
文章目录 一.Android Studio概述 二.下载Android Studio 1.Android Studio下载地址 2.Android Studio下载步骤 三.安装Android Stu ...
- 【Android开发】Android Studio中进行简单的WebView构建浏览器开发1
[Android开发]Android Studio中进行简单的WebView构建浏览器开发 第一步:新建一个Android Project 第二步:修改AndroidMainfest.xml文件 第三 ...
- 【Android开发】Android Studio中进行简单的WebView构建浏览器开发2
[[Android开发]Android Studio中进行简单的WebView构建浏览器开发2 第1步:在上一篇博客的基础上,修改activity_main.xml 第2步:在MainActivity ...
- android实现10ms定时器,本文实例讲述了Android定时器和Handler用法。分享给大家供大家参考。具体分析如下:一、环境:主机:WIN8开发环境:Android Studio...
本文实例讲述了Android定时器和Handler用法.分享给大家供大家参考.具体分析如下: 一.环境: 主机:WIN8 开发环境:Android Studio 二.定时器使用示例: 初始化: //定 ...
- 拥抱 Android Studio 之二:Android Studio 与 Gradle 深入
2019独角兽企业重金招聘Python工程师标准>>> 关于学习方式 曾经跟朋友讨论过我们所接受过的大学工科教育,都是一上来先学基础理论,最后再来一个金工实习.一开始不知道为什么而学 ...
- Android Studio(十二):打包多个发布渠道的apk文件
Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...
最新文章
- class 与 原型链 解析
- solr学习二(ExtractingRequestHandler)
- 华为等上榜全球100大最具影响力企业;猫扑关闭发帖功能;亚马逊要给逾50万名员工加薪 |极客头条...
- ParallelActivity
- 要有多勇敢才敢对回忆念念不忘,还是喜欢流眼泪。学会成长坚强,相互理解而不是责怪。我安静点,我不哭了~...
- GNSS-RINEX3.04格式
- Android native crash debug
- 看看吧,在线教育直播的这四个优势
- kail 安装小企鹅输入法
- 旅游产品分析:要出发周边游
- 很全的HTML5功能概述,温故而知新,可以为师矣!
- java 生成数字_Java随机生成数字的方法
- android 九宫格带删除,Android--选择多张图片,支持拖拽删除、排序、预览图片
- Java图片嵌套图片
- 常微分方程数值解法1
- openpnp - configure - Connect the driver to your controller
- 干掉Office 正版增值计划通知 (KB949810)-CHS
- 中文 NLP (2) -- ICTCLAS分词
- IPD流程管理的一些分享
- Cassandra - A Decentralized Structured Storage System
热门文章
- java+springboot家庭生活物品收纳管理系统的设计
- SAP系统真的非常的伟大
- 保护 SQL Server 2005 Express Edition Server ---- 转载
- mongoDB多字段去重
- 史上最全交叉熵损失函数详解
- 卡巴斯基:超四成网民遭遇网络安全问题
- 上传本地代码到GitHub,并用GitHub pages配置静态网页
- 开发用的devstack (by quqi99)
- pywinauto 获取朋友圈并将名片分享给好友
- 【CIPS 2016】(11-12章)信息检索、信息推荐与过滤 (研究进展、现状趋势)