Android Studio 学习-第三章 Activity 第一组
事先申明:所有android 类型的学习记录全部基于《第一行代码 Android》第三版,在此感谢郭霖老师的书籍帮助。
1.手动创建Activity
在Project类型目录中寻找到 项目/app/src/main/java/com.example.activitytest 在 com.example.activitytest包右键新建Activity 中选择Empty Activity 不选择Generate a Layout File 和Launcher Activity,选择finish。
这两个不勾选的选项中Generate a Layout File代表意思为项目创建一个对应的布局文件,Launcher Activity意思为将此Activity作为主Activity。第二项在你想将这个Activity作为第一个显示在你android app的页面时勾选。
创建Activity后,Android Studio自动帮我们重写了onCreate()方法.实际代码如下
class FirstActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
}
2.创建布局和加载布局
首先,每一个Activity都应该对应一个布局。
对app/src/main/res/layout文件夹右键新建/Layout resource file建立布局,并且命名,根元素选择为LinearLayout。
创建完毕后选择右侧右上角的code进入xml文件编辑布局,
你会看到
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>
我们先来实现一个按钮,主要分为两个步骤,第一个步骤式使用代码在布局中编辑一个button元素,之后第二个步骤是在Activity中将其显示出来。
首先,布局文件中在LinearLayout中添加一个button按钮,添加后编辑一个按钮,实际代码如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 1"></Button>
</LinearLayout>
BUTTON元素中,android:id是定义一个唯一的标识符,其中使用的格式xml引入的格式,比如定义一个id,xml中式@+id/button1,引入一个id则是@id/button1。android:layout_width和android:layout_height分别式设置当前元素的宽和高,match_parent表示和父元素一样的长度,wrap_content则表示够用就行,而Android:text 则表示元素显示的文字内容。
其次,我们完成了button元素的设置,现在来将其显示出来。
在创建好的Activity中的oncreate中添加一行代码如下
setContentView(R.layout.first_layout)
在这行代码中,调用了setContentView()方法,功能是给当前的activity加载一个布局,在这个方法中我们要传入一个布局文件的id,此处的R.layout.first_layout中,R代表res,layout代表res中的layout文件夹,first_layout则代表了你要给的布局名即标识符。
完成这段代码编辑后点击右上角Design便可查看效果,效果应该如下

Android Studio 学习-第三章 Activity 第一组的更多相关文章
- Android Studio 学习笔记(三):简单控件及实例
控件.组件.插件概念区分 说到控件,就不得不区分一些概念. 控件(Control):编程中用到的部件 组件(Component):软件的组成部分 插件(plugin): 应用程序中已经预留接口的组件 ...
- Android Studio 学习(三) 广播
动态注册监听网络变化 创建intentFilter 并addAction 代表了监听哪个广播 然后使用registerReceiver()方法 将intentFilter 与 自己创建的监听器 传进去 ...
- Android Studio 学习 - 基本控件的使用;Intent初学
Android Studio学习第三天. 今天主要学习 1. RadioButton.CheckBox.RatingBar.SeekBar等基础控件的使用. 结合Delphi中相类似的控件,在这些基本 ...
- 三、Android学习第三天——Activity的布局初步介绍(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 三.Android学习第三天——Activity的布局初步介绍 今天总结下 ...
- Android Animation学习(三) ApiDemos解析:XML动画文件的使用
Android Animation学习(三) ApiDemos解析:XML动画文件的使用 可以用XML文件来定义Animation. 文件必须有一个唯一的根节点: <set>, <o ...
- Android Studio系列教程三--快捷键
Android Studio系列教程三--快捷键 2014 年 12 月 09 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://stormzhang.com/ ...
- Android Sip学习(三)Android Voip实现
Android Sip学习(三)Android Voip实现 Android Sip学习(准备知识)SIP 协议完整的呼叫流程 Android Sip学习(一)Android 2.3 APIs S ...
- Android Studio 学习笔记(一)环境搭建、文件目录等相关说明
Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android ...
- Android studio学习笔记1
Android studio学习笔记1 20201303张奕博 2023.1.13 studio布局 1.线性布局 Android的线性布局不会换行,当组件一个挨着一个地排列到头之后,剩下的组件将不会 ...
- Android studio学习笔记3
Android studio学习笔记3 RelativeLayout常见属性 相对于父元素给控件布局 android:layout_centerHrizontal 若为ture水平居中 android ...
随机推荐
- CF-1860C Game on Permutation题解
题意:在一条数轴上,Alice可以跳到在你所在点前面且值比当前所在点小的点.每回合可以向任意符合要求的点跳一次.当轮到Alice的回合同时不存在符合要求的点,Alice就赢了.Alice可以选择一个点 ...
- ceph分布式存储软件pgs inconsistent
Ceph是一个开源的分布式存储系统,它提供了高性能.高可靠性以及高扩展性.Ceph的设计理念是基于对象存储模型,通过将数据分割成多个对象并存储在不同的节点上,实现数据的分布式存储和访问. Ceph的核 ...
- mall :sa-token项目源码解析
目录 一.mall开源项目 1.1 来源 1.2 项目转移 1.3 项目克隆 二.Sa-Toekn框架 2.1 Sa-Token 简介 2.2 分布式后端项目的使用流程 2.3 分布式后端项目的使用场 ...
- WPF使用Blazor的快速案例
下面我们将讲解在WPF中使用Blazor,并且使用Blazor做一些文件编辑操作,下面是需要用到的东西 WPF Blazor Masa Blazor Monaco 安装Masa Blazor模板 使用 ...
- shopee根据ID取商品详情 API
item_get-根据ID取商品详情 注册开通 shopee.item_get 公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中) secr ...
- QA|4个数据打开了4个页面,怎么实现只打开一个页面?单例模式|网页计算器自动化测试实战
如下图,代码中4个数据,产生了4个页面,怎么实现只打开一个页面?可使用单例模式 查询得知 单例模式实现有5种方法,参照链接下: https://blog.csdn.net/SixStar_FL/art ...
- 2022最新 Navicat Premium 16中文软件激活安装永久使用正版(支持MAC+win)
Navicat Premium 16中文正版永久使用,下载地址: 关注我的wx公众号"奋斗在IT"回复1015获取下载地址
- Solution -「THUPC 2021」区间矩阵乘法
Description Link. 给定长度为 \(n\) 的序列 \(a_1, a_2, \dots, a_n\):共 \(m\) 组询问,每次询问给出 \(d,p_1,p_2\),求 \[\sum ...
- Note -「virtual tree」shorter vrt
Part. 1 Preface 没什么 preface. Part. 2 实现 具体来说就是把所有关键点按 \(\text{dfn}\) 排序,去重,然后求出相邻结点的 \(\text{LCA}\), ...
- 西门子300PLC转以太网无需编程实现与1200PLC转以太网数据交换
西门子300PLC转以太网无需编程实现与1200PLC转以太网数据通信 本文介绍利用兴达易控生产的PLC转以太网模块(MPI-ETH-XD1.0Plus)实现1200/1500PLC与300(CPU3 ...