#android#activity

     Activity作为四大组件之首,是使用最频繁的一种组件,通常翻译成“活动”,个人觉得翻译成“界面”更加合适一些,正常情况下,除了window、dialog和toast,见到的界面只有activity。

 1.要使用activity,必须在manifests文件中注册,先注册后使用;

 2.actionBar

actionBar位于activity的顶部,用来显示activity的标题,icon等与其他view交互的元素

actionBar是在Android3.0之后使用,如果在低版本使用,则需要加上v7支持包

下面是关于actionBar的用法

package mashen.activitydemo;

import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class FilghtSecondActivity extends AppCompatActivity {

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

        ActionBar bar=getSupportActionBar();
        bar.setTitle("我的博客");
        //设置Logo
        bar.setLogo(R.mipmap.user);
        bar.setDisplayUseLogoEnabled(true);
        bar.setDisplayShowHomeEnabled(true);
//        bar.setDisplayHomeAsUpEnabled(true);
        //使左上角图标可点击,对应id为android.R.id.home
//        bar.setDisplayShowHomeEnabled(true);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id=item.getItemId();
        switch (id){
            case searchItemId:
                Toast.makeText(this,"点击了搜索菜单",Toast.LENGTH_SHORT).show();
                break;
            case android.R.id.home:
                Toast.makeText(this,"点击了返回菜单",Toast.LENGTH_SHORT).show();
                break;
        }


        return super.onOptionsItemSelected(item);
    }

    final int searchItemId=100;
    final int settingItemId=101;
    final int updateItemId=102;
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //创建右边的搜索
        MenuItem searchItem=menu.add(0,searchItemId,0,"搜索");
        searchItem.setIcon(R.mipmap.search);
        //将搜索控件绑定到ActionBar
        searchItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);

        MenuItem settingItem=menu.add(0,settingItemId,0,"设置");
        settingItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);

        MenuItem updateItem=menu.add(0,updateItemId,0,"应用更新");
        updateItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);

        return super.onCreateOptionsMenu(menu);
    }
}

activity的生命周期

1.oncreate():表示activity正在被创建,在这个方法中我们可以做一些初始化的工作。比如调用setcontentview去加载界面布局资源。初始化activity的所需数据

2.onrestart():表示activity正在重新启动,一般情况下,当当前的activity从不可见重新变为可见状态时。onrestart()就会被调用,比如按home切换到桌面,或打开了一个新的activity,当前的activity就会被暂停,也就是onpause和onstop被执行,接着重新返回到这个activity,就会调用这个方法;

3.onstart():表示activity正在被启动,即将开始,这时候activity已经可见,但是没有出现在前台,还无法与用户进行交互;

4.onresume():表示activity已经可见了。并且出现在前台并进行活动;

5:onpause():表示activity正在停止,正常情况,紧接着onstop就会被调用,如果快速返回当前activity,那么onresume会被调用;

6:onstop():表示activity已经停止,可以做一些稍微重量级的回收工作,不能太耗时;

7:ondestory():表示activity即将被销毁,可以做一些回收工作和资源释放;

各个生命周期切换过程

1.启动:oncreate-->onstart-->onresume

2.按back键:onPause()->onStop()->onDestory()

3.按home:onPause()->onStop()这两个方法,这是activity还在后台

4.再次打开app:onRestart()->onStart()->onResume()

























  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值