android ——活动
活动(Activity)主要用于和用户进行交互,是一种可以包含用户界面的组件。
1、手动创建活动
右击com.example.administrator.exp5→New→Activity→Empty Activity,会弹出一个创建活动的对话框,将活动命名为FirstActivity。然后不要勾选Generate Layout File和Laucher Activity这两个选项。勾选Generate Layout File的话会自动为活动生成一个对应的布局文件,勾选Laucher Activity会将该活动设为项目的主活动,勾选BackwardsCompatibility表示会为项目启用向下兼容的模式,然后点击Finish完成。
打开AndroidManifest可以看到在18行FirstActivity已经被自动注册了。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.administrator.exp5"> <application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".FirstActivity"></activity>
</application>
</manifest>
如果我们把代码简单的变成:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.administrator.exp5"> <application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity"></activity>
<activity android:name=".FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
这样就将FirstActivity活动变成了项目的主活动。
之前没有勾选Generate Layout File,也就是没有为FirstActivity创建布局文件,Android程序讲究逻辑和视图分离,最好每个活动都对应着自己的一个布局,现在手动创建一个布局文件:
右击res下的layout→New→Layout resource file,将文件命名为first_layout,根元素就选择LinerLayout。
在窗口的最下方有两个切换卡,选择Text可以看到代码:
<?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>
然后打开java下的FirstActivity,并在onCreate()方法中修改代码
package com.example.administrator.exp5; import android.support.v7.app.AppCompatActivity;
import android.os.Bundle; public class FirstActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
}
}
setContentView()方法用来给当前活动动态加载一个布局,在该方法中我们通常需要传入一个布局文件的id R.layout.first_layout。
2.在活动中使用Toast
Toast是Android系统提供的提醒方式,我们可以使用它将一下短小的信息通知给用户,这些信息过一段时间后会自动消失,而且不会占用任何的屏幕空间。
首先需要在活动的布局文件中添加一个按钮
<?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="button1"/>
</LinearLayout>
<Button/>是一个按钮控件,
android:id用于添加控件的id,
android:layout_width是控件的宽,
android:layout_height是控件的高,
wrap_content是根据内容的大小而变化尺寸,
match_parent是和父控件一样大,
android:text是按钮上的文本默认为全部大写。
然后需要修改FirstActivity的java代码:
public class FirstActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(FirstActivity.this,"这是一个消息提醒",Toast.LENGTH_SHORT).show();
}
});
}
}
先通过findViewId()方法并传入相应id创建得到按钮的实例,由于findViewId()方法 的返回的是一个View对象,所以需要向下转型为Button对象,然后调用setOnClickListener()方法为按钮注册一个监听器,这样在点击按钮的时候就会执行onClick()方法,然后在onClick()中写弹出Toast的功能。
Toast通过静态方法maketext()方法创建一个Toast对象,然后调用show()方法将Toast显示出来,maketext()方法第一个参数是Context,由于活动本身就是一个Context对象,所以这里传入当前活动,作为Toast要求的上下文,第二个参数是显示的内容,第三个参数是显示的时长,两个变量可以选择Toast.LENGTH_SHORT和Toast.LENGTH_LONG。效果如下:
android ——活动的更多相关文章
- Android活动启动模式
在android中,android活动是以栈的方式进行存储,在栈中的活动不断被重新激活至前台和不断被终止也不断被排序.因此对于栈中的活动管理也是一个比较麻烦的事情. android给我们提供了两类活动 ...
- S5PV210之Sate210-F DIY硬件,移植uboot,kernel,android 活动现在已经进入实施阶段吗,欢迎广大网友参与 !
大家一起来diy 超低价四核的exynos4412或者Cortex A8S5pv210开源开发板 商业版Sate210已经完成了好久了.Sate4412 也已经出来.但是这两个接口非常全,主要是针对企 ...
- Android活动和碎片的生命周期及addToBackStack()方法
开始学了Android活动的生命周期后又到了碎片的生命周期,就开始有点乱了.又看了一些总结的文章有一个挺详细的:https://blog.csdn.net/lecepin/article/detail ...
- Xamarin.Android活动的生命周期
一.前言 用过Android手机的人一定会发现一种现象,当你把一个应用置于后台后,一段时间之后在打开就会发现应用重新打开了,但是之前的相关的数据却没有丢失.可以看出app的“生命”是掌握在系统手上的, ...
- Android活动管理工具
ActivityCollector.java import android.app.Activity; import java.util.ArrayList; import java.util.Lis ...
- Android活动的生命周期
掌握活动的生命周期对任何Android开发者来说都非常重要,当你深入理解活动的生命周期之后,就可以写出更加连贯流畅的程序. -------------------------------------- ...
- android: 活动和服务进行通信
9.3.3 活动和服务进行通信 上一小节中我们学习了启动和停止服务的方法,不知道你有没有发现,虽然服务是在活 动里启动的,但在启动了服务之后,活动与服务基本就没有什么关系了.确实如此,我们在 活 ...
- Android活动生命周期
任务(Task) Android 是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈(Back Stack).在默认情况下,每当我们启动了一个新的活动,它 ...
- android 活动的生命周期
掌握活动的生命周期非常重要,因为一个正常的android应用,会有很多的活动,如何在这些活动之间进行切换.数据的交互等,就经常会用到活动的生命周期这一块的知识.可以说,只要掌握了活动的生命周期,才能更 ...
- 常用关于Android活动的实践技巧
//知晓当前是在哪一个活动 /* 新建一个BaseActivity类(Java class), 继承自AppCompatActivity * 重写 onCreate()方法,已有的活动无需再继承自Ap ...
随机推荐
- 基础数据类型,格式化输出,以及for循环的使用
基础数据类型总览 int :数字类型,可以+-*/等等操作 str:字符串类型,存储少量的数据,+*int 切片等 bool :里面包含True,False这两种值,用来判断真假. list :列表 ...
- jquery Easy UI Datagrid(数据网格)学习心德,附API
第一步,引入主要的css样式和js文件 <meta http-equiv="Content-Type" content="text/html; charset=ut ...
- scala刷LeetCode--26 删除排序数组中的重复项
一.题目描述 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完 ...
- Acrobat pro Dc 2018破解版|Adobe Acrobat pro Dc 2018中文破解版下载(附序列号/免破解)
Acrobat pro Dc 2018破解版是由Adobe公司开发的一款PDF编辑软件,它可以以PDF格式制作和保存用户的文档,以此方便浏览和打印,或使用更高级的功能,且PDF格式的文档可如实地保留原 ...
- 乘法口诀表(C语言实现)
输出乘法口诀表,关键在于利用好循环语句,而且是二层循环.
- java学习笔记(基础篇)—java数组
一:什么是数组,什么时候使用数组? 数组是用来保存一组数据类型相同的元素的有序集合,数组中的每个数据称为元素.有序集合可以按照顺序或者下标取数组中的元素. 在Java中,数组也是Java对象.数组中的 ...
- linux weblogic12.1.3.0卸载过程
主要是一开始以为跟之前版本一样有uninstall.sh,但却找不到. 最后google 才发现改了个名字,deinstall.sh 可能后面的版本都是这个脚本了吧. 先进入脚本目录,命令:cd /h ...
- Docker实现GPA+Exporter监控告警系统
Docker实现GPA+Exporter监控告警系统 1.搭建grafana,prometheus,blackbox_exporter环境 # docker run -d -p 9090:9090 - ...
- ListView在ScrollView中不显示全部的问题
在实际应用中,我们可能会遇到把ListView放到ScrollView中的情况,在这种情况下,ListView的滑动属性与ScrollView的滑动出现冲突,从而ListView只显示一项.这里提供一 ...
- 描述符\get/set/delete,init/new/call,元类
6.23 自我总结 1.描述符__get__,__set__,__delete__ 描述符是什么:描述符本质就是一个新式类,在这个新式类中,至少实现了____get__(),__set__(),__d ...