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. 关于linux系统下 无法解析主机的问题

    linux无法解析主机 xxx: 解决方法: 1. sudo gedit /etc/hosts 找到如下行: 127.0.1.1       XXX 将其修改为: 127.0.1.1       (你 ...

  2. mysql之select into outfile

    参见:http://dev.mysql.com/doc/refman/5.1/en/select-into.html 例子: SELECT a,b,a+b INTO OUTFILE '/tmp/res ...

  3. Yii2的redis扩展

    在应用的时候需要先对yii2进行扩展安装 如果装有composer直接运行 php composer.phar require --prefer-dist yiisoft/yii2-redis 当然也 ...

  4. css3的线性渐变效果

    1.代码: <!doctype html> <html lang="en"> <head> <meta charset="UTF ...

  5. 微信小程序 一些要点

    微信小程序,weixin,关于微信小程序,那些开发文档没有告诉你的-微信小程序开发资源-微信开发者平台,微信开发者社区,微信小程序开发者社区 Discuz! Team and Comsenz UI T ...

  6. VS+mysql+EF搭建

    2016年7月6日更新: vs2010只需要安装mysql的.net connector就可以 vs2012, vs2015都需要安装.net connector + ODBC connector才行 ...

  7. WPF 属性系统 依赖属性之内存占用分析

    关于WPF的属性系统园子内有不少这方面的文章.里面大都提到了WPF依赖属性的在内存方面的优化.但是里面大都一笔带过.那么WPF到底是怎么样节约内存的.我们通过WPF属性和普通的CLR属性对比来看一下W ...

  8. P​H​P​制​作​姓​名​、​学​号​。​爱​好​等​窗​口

    if (radioButton1.Checked == true)                textBox2.Text = 姓名: + textBox1.Text +    性别: + radi ...

  9. 深入理解IEnumerable和IQueryable两接口的区别

    from:http://blog.csdn.net/ydm19891101/article/details/50969323 无论是在ado.net EF或者是在其他的Linq使用中,我们经常会碰到两 ...

  10. dict字典使用方法

    keys(). values() .items()方法 1.返回格式 dict_keys. dict_values 和 dict_items 2.常用于循环.迭代 for key in dict_te ...