Android:日常学习笔记(4)——探究活动

什么是活动:

  活动是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互。

手动创建活动

创建空活动

1.新建活动时选择Add No Activity

2.新建EmptyActivity

3.点击Finish完成

创建和加载布局

说明:

  前面我们说过,Android程序的设计讲究逻辑与视图分离,最好每一个活动都能对应一个布局。
  布局就是用来显示界面内容的,因此我们现在就手动创建一个布局文件。

1.在res目录下新建一个layout目录

2.右键新建一个Layout resource file

3.完成后展开布局管理器


4.添加按钮查看效果

    <Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button" />
<!--@+id/button:表示按钮的唯一标识符-->
<!--match_parent:表示和父元素一样宽-->
<!--wrap_content:只要能刚好显示内容即可-->

5.加载布局文件

public class FirstActivity extends AppCompatActivity {

    @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
}
}

6.在AndroidManifest中注册

所有活动都要在AndroidManifest中注册才能生效.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.zy.android1"> <application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".FirstActivity"></activity>
</application> </manifest>

7.运行查看效果

在活动中使用Toast

什么是Toast

  Toast是一种Android系统提供的非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些消息会在一段时间后自动消失,并且不占用任何屏幕空间.

让按钮弹出Toast

代码:

public class FirstActivity extends AppCompatActivity {

    @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
Button button = (Button) findViewById(R.id.button);
//在活动中可以通过findViewById来获取布局文件中定义的元素
button.setOnClickListener(new View.OnClickListener() {
//为button注册一个监听器
public void onClick(View v) {
Toast.makeText(FirstActivity.this,"You click the button",Toast.LENGTH_SHORT).show();
}
});
}
}

说明:

1.public static Toast makeText(Context context, CharSequence text, int duration) 制作一个仅仅包含文本信息的标准Toast

2.最后一个参数为Toast显示时间长短

字段摘要  
static int LENGTH_LONG            Show the view or text notification for a long period of time.
static int LENGTH_SHORT            Show the view or text notification for a short period of time.

效果:
  

在活动中使用Menu

说明

  手机屏幕毕竟有限,为了在活动中显示菜单,Android给我们提供了一种方式,可以 让菜单都能得到展示的同时,还不占用任何屏幕。

实现

新建菜单配置文件

输入菜单配置项

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/add_item" android:title="Add"/>
<item android:id="@+id/remove_item" android:title="Remove"/>
</menu>

重写onCreateOptionsMenu方法和onOptionsItemSelected方法

    public boolean onCreateOptionsMenu(Menu menu) {
//MenuInflater:This class is used to instantiate menu XML files into Menu objects.
/* menuRes - Resource ID for an XML layout resource to load (e.g., R.menu.main_activity)
menu - The Menu to inflate into. The items and submenus will be added to this Menu.*/
getMenuInflater().inflate(R.menu.main,menu);
return true;//允许菜单显示出来
}
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.add_item:
Toast.makeText(this,"You click Add",Toast.LENGTH_SHORT).show();break;
case R.id.remove_item:
Toast.makeText(this,"You click Remove",Toast.LENGTH_SHORT).show();break;
default:break;
}
return true;
}

销毁一个活动

只要按一下Back键就会销毁当前活动。也可以使用finsh命令,来完成销毁。

        button.setOnClickListener(new View.OnClickListener() {
//为button注册一个监听器
public void onClick(View v) {
Toast.makeText(FirstActivity.this,"You click the button",Toast.LENGTH_SHORT).show();
finish();
}
});

Android:日常学习笔记(4)——探究活动(1)的更多相关文章

  1. Android:日常学习笔记(6)——探究活动(4)

    Android:日常学习笔记(6)——探究活动(4) 活动的启动模式 standard模式 standard是活动默认的启动模式,在不进行显示定义的情况下,所有活动都会自动使用这种启动模式. stan ...

  2. Android:日常学习笔记(6)——探究活动(3)

    Android:日常学习笔记(6)——探究活动(3) 活动的生命周期 返回栈 Android中的活动是可以叠加的,我们每启动一个新活动,就会覆盖在原来的活动上,点击Back以后销毁最上面的活动,下面的 ...

  3. Android:日常学习笔记(5)——探究活动(2)

    Android:日常学习笔记(5)——探究活动(2) 使用Intent在活动之间穿梭 什么是Intent Intent时Android程序中各组件之间进行交互的一种重要方式,他不仅可以指明当前组件想要 ...

  4. Android:日常学习笔记(9)———探究持久化技术

    Android:日常学习笔记(9)———探究持久化技术 引入持久化技术 什么是持久化技术 持久化技术就是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然不会丢失 ...

  5. Android:日常学习笔记(7)———探究UI开发(4)

    Android:日常学习笔记(7)———探究UI开发(4) UI概述  View 和 ViewGrou Android 应用中的所有用户界面元素都是使用 View 和 ViewGroup 对象构建而成 ...

  6. Android:日常学习笔记(9)———探究广播机制

    Android:日常学习笔记(9)———探究广播机制 引入广播机制 Andorid广播机制 广播是任何应用均可接收的消息.系统将针对系统事件(例如:系统启动或设备开始充电时)传递各种广播.通过将 In ...

  7. Android:日常学习笔记(8)———探究UI开发(5)

    Android:日常学习笔记(8)———探究UI开发(5) ListView控件的使用 ListView概述 A view that shows items in a vertically scrol ...

  8. Android:日常学习笔记(8)———探究UI开发(3)

    Android:日常学习笔记(8)———探究UI开发(3) 详解四种基本布局 前言 布局定义用户界面的视觉结构,如Activity或应用小部件的 UI.您可以通过两种方式声明布局: 在 XML 中声明 ...

  9. Android:日常学习笔记(8)———探究UI开发(2)

    Android:日常学习笔记(8)———探究UI开发(2) 对话框 说明: 对话框是提示用户作出决定或输入额外信息的小窗口. 对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件. 提示 ...

随机推荐

  1. python学习之sys.getsizeof()

    sys.getsizeof() >>> help(sys.getsizeof)Help on built-in function getsizeof in module sys: g ...

  2. 使用sklean进行多分类下的二分类

    #coding:utf-8 import matplotlib.pyplot as plt import numpy as np from sklearn.linear_model import Lo ...

  3. Appium python自动化测试系列之元素的定位(六)

    ​6.1 常用定位方法讲解 对象定位是自动化测试中很关键的一步,也可以说是最关键的一步,毕竟你对象都没定位那么你想操作也不行.所以本章节的知识我希望大家多动手去操作,不要仅仅只是书本上的知识,毕竟这个 ...

  4. View拖拽 自定义绑定view拖拽的工具类

    由于工作需求,需要用到这种处理方法所以我就写了这个 废话不多说先看效果图 接下来就看代码吧 DragDropManager import android.app.Activity; import an ...

  5. Servlet 发送电子邮件

    使用 Servlet 发送一封电子邮件是很简单的,但首先您必须在您的计算机上安装 JavaMail API 和 Java Activation Framework)JAF). 您可以从 Java 网站 ...

  6. JavaScript 是脚本语言

    JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行. JavaScrip ...

  7. android自定义View_3——Optimizing the View

    前言:现在你已经有了一个自定义的view了,并且支持手势和过度动画等属性,现在你要确认这个view 有够快的速度,为了使其在UI上不会显得迟钝或是卡停,你要保证view动画,能每秒最好有60帧. 一: ...

  8. linq内联左联

    内联:没有into 左联:有into 例子: from GoodsStore in this.GetCurrentDbSession.Tbl_OfficeSupplies_GoodsStoreDLL. ...

  9. Codeforces Beta Round #25 (Div. 2)--A. IQ test

    IQ test time limit per test 2 seconds memory limit per test 256 megabytes input standard input outpu ...

  10. Unity3d 创建线程 子线程与主线程通信

    创建子线程 一,不带参数 Thread   resourcesLoadThread=new Thread (this.resourceLoadTxt); resourcesLoadThread.Sta ...