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. JavaScript之语句

    ECMA-262 规定了一组语句(也称为流控制语句).从本质上看,语句定义了 ECMAScript 中的主要语法,语句通常使用一或多个关键字来完成给定任务. if语句 if语句是最常见的一种语句,语法 ...

  2. fstream之seekp/seekg/ios::ate/ios::app

    在程序开发中,IO处理无处不在,经常会在代码中遇到特殊的IO处理需求 1.描述 需求:如果文件不存在则创建,存在则打开,然后先读取文件的末行,然后在文件末尾写入. 代码: #include <i ...

  3. 自定义注解日志功能与shrio框架冲突的问题

    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w ...

  4. Java并发编程(十四)并发容器类

    同步容器将所有对容器状态的访问都串行化,以实现线程安全性.这种方法的代价是严重降低并发性,当多个线程竞争容器的锁时,吞吐量将严重减低. 另一个方面,并发容器是针对多个线程并发访问设计的.在java 5 ...

  5. Spring MVC内部资源视图解析器

    InternalResourceViewResolver用于将提供的URI解析为实际URI.下面的示例演示如何在Spring Web MVC框架中使用SpringResultViewResolver. ...

  6. 一步步教你搭建TinyOS2.1.2开发环境

    (本教程使用的是VirtualBOX +ubuntu14.04+tinyos2.1.2) note:看了非常多的tinyos的安装教程.区别不是非常大,无非就是安装编译器配置环境等.尽管简单,但还是有 ...

  7. ThinkPHP带表情无限级评论回复

    今天就tp中(含表情)无限级评论回复做一个个人总结. 1.准备TP基本框架 2.数据库,数据表的建立 A.先说说数据库(表)的建立. a-1,数据库:blog a-2,数据表:bolg_comment ...

  8. asp.net中TextBox只能输入数字的最简洁的两种方法

    如下TextBox <asp:textboxonkeypress="isnum()"id="TextBox1"runat="server&quo ...

  9. Unity3D学习笔记——NGUI之UIGrid

    UIGrid:这个组件可以轻松的让你排列你的组件,并且在运行或是编辑的时候都可以. 效果图如下: 一:使用步骤 1.选择一个panel然后右键Create——Grid 2.为Grid创建几个子Spri ...

  10. nth-child 和 nth-of-type 的区别

    css3中有两个新的选择器可以选择父元素下对应的子元素,一个是:nth-child 另一个是:nth-of-type,它们2个的区别是: nth-of-type为什么要叫:nth-of-type?因为 ...