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. App打包上架流程(iOS转)

    由于苹果的机制,在非越狱机器上安装应用必须通过官方的Appstore, 开发者开发好应用后上传Appstore,也需要通过审核等环节. AppCan作为一个跨主流平台的一个开发平台,也对ipa包上传A ...

  2. 文件存储结构inode与RAM结构建立联系

    linux下一切皆文件,大致可分为以下几类:目录.普通文件.硬连接.软连接.字符设备.块设备.FIFO.Socket,其在物理存储体内存储按inode和数据块存储,inode代表元数据,是除实际数据外 ...

  3. AOF 持久化策略

    Redis为了解决AOF后台重写造成的数据不一致问题,设置了AOF重写缓冲区.即使设置了no-appendfsync-on-rewrite yes也会造成短暂的主进程阻塞.原因就在于子进程完成AOF重 ...

  4. Spring3.2.6 + hibernate4.2.8 + hibernate-generic-dao1.2.0

    n多方法都不成功,最后在hibernate-generic-dao官网上的例子hibernate-maven-web(使用其jar包及配置,并将hibernate更新为4.2.8,加入ehcache及 ...

  5. 对象中prototype与__proto__与从cinstructor的作用和区别

    首先先要知道prototype什么时间才会有 只有在创建函数的时候,每当函数创建的时候才会原型prototype,还有一个constructor,这个不是函数独有的,对象也有 下面就来说说对象prot ...

  6. Python之图片格式转换

    import os import shutil from PIL import Image def getAllFiles(dirName, houzhui=' '): results = [] fo ...

  7. 关于在Java中链接SQLServer数据库中失败的原因分析

    首先声明:笔者是Java的初学者,并且一值是走在自学的道路上,长久以来只有“度娘”相伴.(加入了各种Java学习群,基本没有热心帮人解决问题的.可以理解-_-!!!)大神级的人物就不必看拙文了,没有什 ...

  8. 回顾下WinMain

    我们在学习标准C++的时候,都知道每个应用程序运行时都会先进入入口点函数main,而当从main函数跳出时程序就结束了.在Windows编程里面,也是一样的,只是我们的入口点函数不叫main,叫Win ...

  9. java中==和equals区别

    主要是使用String时候的区别! 一.java当中的数据类型和“==”的含义 基本数据类型(也称原始数据类型) :byte,short,char,int,long,float,double,bool ...

  10. jquery 插件 起步代码

    /** * Created by W.J.Chang on 2014/6/25. */ ;(function($) { var methods= { check: function() { retur ...