第二行代码学习笔记——第二章:先从看得到的入手——探究活动

界面——探究活动(Activity)。

2.1 活动是什么

活动(Activity)吸引用户的地方,它是可以界面的组件,主要用于与用户进行交互。


2.2 活动的基本用法

关闭当前项目,新建ActivityTest项目,选择Add No Activity(不添加活动),点击完成。

Add No Activity

2.2.1 手动创建活动

初始化项目结构:

initjg

右击com.example.hjw.activitytest—>New—Activity—Empty Activity,命名FirstActivity。

c_2n

勾选Generate Layout File表示自动创建对应的布局文件;
勾选Launcher Activity表示为当前项目的主活动;
勾选Backwards Compatibility表示会为项目启动向下的模式。
这里我们Generate Layout File和Launcher Activity 取消勾选。

项目中的任何活动都应该重写Activity的onCreate()方法。

2.2.2 创建和加载布局

创建布局(layout)文件:右击res目录—>New—>Directory。
创建布局:右击—>layout—>Layout resource file。
加载布局:在onCreate()中调用setContentView(),传入布局的Id。

2.2.3 在AndroidManifest文件中注册

打开AndroidManifest.xml文件:

  <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"

     <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity 
        android:name=".MainActivity"
        android:label="This is firstActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"></action>
                <category android:name="android.intent.category.LAUNCHER"></category>
            </intent-filter>
        </activity>
    </application>

    </manifest>

android:name:指定哪一个活动。
android:label:指定活动中标题栏的内容。
配置主活动的方法:在activity中添加

   <intent-filter>
            <action android:name="android.intent.action.MAIN"></action>
            <category android:name="android.intent.category.LAUNCHER"></category>
    </intent-filter>

运行项目。

2.2.4 在活动中使用Toast

Toast把一些的短小的通知给用户。
点击按钮弹出Toast:

 private Button btn_toast;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first_layout);
        btn_toast= (Button) findViewById(R.id.btn_toast);
        btn_toast.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "You cliked Toast", Toast.LENGTH_SHORT).show();
            }
        });
    }

通过findViewById()获取布局中定义的元素。调用setOnClickListener()设置按钮的监听事件,弹出Toast当然要在onClick()编写了。
Toast通过静态方法makeText(上下文对象(Context),显示文本内容,Toast的时间长短(SHORT,LONG))创建出一个Toast()对象,调用show()显示。

Toast

2.2.5 在活动中使用Menu

Menu为了让菜单得到显示的同时,还能够不占用任何屏幕资源。

创建menu文件夹:右击res—>New—>Directory。
新建菜单文件:右击menu—New—Menu resource file。

<?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>

创建了两个菜单项, < item/>哪一个菜单项。
android:id:唯一标识。
android:title:菜单名称。

重写onOptionsItemSelected()方法在Activity类中是否显示菜单(true/false)。

 @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main,menu);
        return true;
    }

通过getMenuInflater()方法得到MenuInflater对象,在通过inflate(menu资源文件,菜单添加到哪个menu)给当前活动创建菜单,返回true显示菜单,false无法显示。

menu1

这里写图片描述

定义菜单相应事件,重写onOptionsItemSelected()方法在Activity类中:

  @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case R.id.add_item:
                Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show();
                break;
            case R.id.remove_item:
                Toast.makeText(this, "You clicked Remove", Toast.LENGTH_SHORT).show();
                break;
            default:
        }
        return true;
    }

通过item.getItemId()判断是哪个菜单项。

menuadd

2.2.6 销毁一个活动

Back键销毁当前活动。
通过代码也可以销毁当前活动,finish()方法。

  btn_toast.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });

2.3 使用Intent在活动之间穿梭

主活动跳转到其它活动。

2.3.1 使用显示Intent

在创建一个SecondActivity活动,右击包名—New—Activity—Empty Activity。
自动生成SendActivity.Java和activity_second.xml文件。编写xml文件:

 <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值