掌握线性布局和相对布局的使用方法

掌握基本控件的属性功能及使用方法

掌握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的调用——竹园摘竹子相关推荐

  1. android studio实验二 Activity及常用布局和控件的使用

    实验内容 1.创建一个Android应用,创建一个Android应用,创建MainActivity和LoginActivity. 2.在MainActivity中的onCreate,onStart,o ...

  2. 基于Android的健康医疗论坛的设计与开发(android studio)

    提示:文章为原创,仅供参考 基于Android的健康医疗论坛的设计与开发(android studio,提供源码) 提供源码:链接:https://pan.baidu.com/s/1JnbfJ67UC ...

  3. 【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )

    文章目录 I . 源码编译配置 II . 构建脚本配置 III . NDK 函数库打包配置 IV . Java 与 C 代码示例 V . CMake 配置 ( CMakeLists.txt ) VI ...

  4. 安卓学习笔记01:安装集成开发环境Android Studio

    文章目录 一.Android Studio概述 二.下载Android Studio 1.Android Studio下载地址 2.Android Studio下载步骤 三.安装Android Stu ...

  5. 【Android开发】Android Studio中进行简单的WebView构建浏览器开发1

    [Android开发]Android Studio中进行简单的WebView构建浏览器开发 第一步:新建一个Android Project 第二步:修改AndroidMainfest.xml文件 第三 ...

  6. 【Android开发】Android Studio中进行简单的WebView构建浏览器开发2

    [[Android开发]Android Studio中进行简单的WebView构建浏览器开发2 第1步:在上一篇博客的基础上,修改activity_main.xml 第2步:在MainActivity ...

  7. android实现10ms定时器,本文实例讲述了Android定时器和Handler用法。分享给大家供大家参考。具体分析如下:一、环境:主机:WIN8开发环境:Android Studio...

    本文实例讲述了Android定时器和Handler用法.分享给大家供大家参考.具体分析如下: 一.环境: 主机:WIN8 开发环境:Android Studio 二.定时器使用示例: 初始化: //定 ...

  8. 拥抱 Android Studio 之二:Android Studio 与 Gradle 深入

    2019独角兽企业重金招聘Python工程师标准>>> 关于学习方式 曾经跟朋友讨论过我们所接受过的大学工科教育,都是一上来先学基础理论,最后再来一个金工实习.一开始不知道为什么而学 ...

  9. Android Studio(十二):打包多个发布渠道的apk文件

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

最新文章

  1. class 与 原型链 解析
  2. solr学习二(ExtractingRequestHandler)
  3. 华为等上榜全球100大最具影响力企业;猫扑关闭发帖功能;亚马逊要给逾50万名员工加薪 |极客头条...
  4. ParallelActivity
  5. 要有多勇敢才敢对回忆念念不忘,还是喜欢流眼泪。学会成长坚强,相互理解而不是责怪。我安静点,我不哭了~...
  6. GNSS-RINEX3.04格式
  7. Android native crash debug
  8. 看看吧,在线教育直播的这四个优势
  9. kail 安装小企鹅输入法
  10. 旅游产品分析:要出发周边游
  11. 很全的HTML5功能概述,温故而知新,可以为师矣!
  12. java 生成数字_Java随机生成数字的方法
  13. android 九宫格带删除,Android--选择多张图片,支持拖拽删除、排序、预览图片
  14. Java图片嵌套图片
  15. 常微分方程数值解法1
  16. openpnp - configure - Connect the driver to your controller
  17. 干掉Office 正版增值计划通知 (KB949810)-CHS
  18. 中文 NLP (2) -- ICTCLAS分词
  19. IPD流程管理的一些分享
  20. Cassandra - A Decentralized Structured Storage System

热门文章

  1. java+springboot家庭生活物品收纳管理系统的设计
  2. SAP系统真的非常的伟大
  3. 保护 SQL Server 2005 Express Edition Server ---- 转载
  4. mongoDB多字段去重
  5. 史上最全交叉熵损失函数详解
  6. 卡巴斯基:超四成网民遭遇网络安全问题
  7. 上传本地代码到GitHub,并用GitHub pages配置静态网页
  8. 开发用的devstack (by quqi99)
  9. pywinauto 获取朋友圈并将名片分享给好友
  10. 【CIPS 2016】(11-12章)信息检索、信息推荐与过滤 (研究进展、现状趋势)