Android应用开发android 横 竖 屏 切换 activity 生命周期
白羽 2019-03-12 来源 :网络 阅读 538 评论 0

摘要:本文将带你了解Android应用开发android 横 竖 屏 切换 activity 生命周期,希望本文对大家学Android有所帮助。

    本文将带你了解Android应用开发android 横 竖 屏 切换 activity 生命周期,希望本文对大家学Android有所帮助。



Android应用开发android 横 竖 屏 切换 activity 生命周期


android横竖屏切换
    默认什么都不设置
    放在注册清单的activity中 ↓↓↓
    configChanges=orientation|keyboardHidden|screenSize控制横竖屏生命周期不重走
    android:screenOrientation=portrait 指定横(landscape)竖(portrait)屏
    ↑↑↑
   
    \
   
    看懂了没呀 很清晰得啦
    我就先举个例子吧 主方法有判断的 注册清单就不需要 android:screenOrientation=portrait 这个啦
    注册清单:
 
 
    xml version=1.0   encoding=utf-8>
    <manifest xmlns:android=https://schemas.android.com/apk/res/android
   
      package=com.bwie.myapplication>
     
          <application
   
          android:allowBackup=true
   
          android:icon=@mipmap/ic_launcher
   
          android:label=@string/app_name
   
          android:roundIcon=@mipmap/ic_launcher_round
   
          android:supportsRtl=true
   
          android:theme=@style/AppTheme>
            <activity   android:name=.MainActivity
   
              android:configChanges=orientation|keyboardHidden|screenSize
   
              android:screenOrientation=portrait   >
                  <intent-filter>
                    <action   android:name=android.intent.action.MAIN   />
                      <category android:name=android.intent.category.LAUNCHER   />
                  intent-filter>
              activity>
            <activity   android:name=.TarActivity>activity>
          application>
     
    manifest>
    主方法 MainActivity方法:
 

    package com.bwie.myapplication;
     
    import android.app.Activity;
    import android.content.Intent;
    import android.content.res.Configuration;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
     
    public class MainActivity   extends Activity    {
     
        /**
   
     *   点击按钮
   
       */
   
      private Button   but;
          //创建
   
      @Override
        protected void   onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
              Log.i(TAG,   ---onCreate---创建);
            initView();
        }
     
          //获取控件
   
      private void initView()   {
            but   = (Button)   findViewById(R.id.but);
     
              but.setOnClickListener(new   View.OnClickListener() {
                @Override
                public void   onClick(View v) {
                    Intent  intent = new   Intent(MainActivity.this,TarActivity.class);
                      startActivity(intent);
                }
            });
        }
         @Override
        public void   onConfigurationChanged(Configuration newConfig) {
              super.onConfigurationChanged(newConfig);
              Log.i(TAG,   ---onConfigurationChanged---);
            int   orientation =   newConfig.orientation;
            if   (orientation ==   Configuration.ORIENTATION_LANDSCAPE){
                  setContentView(R.layout.activity_main2);
                  Log.i(TAG, ------);
            } else   if(orientation ==   Configuration.ORIENTATION_PORTRAIT){
                  setContentView(R.layout.activity_main);
                  Log.i(TAG,   ------);
            }
        }
     
          //启动     Activity创建或者从后台重新回到前台时被调用
   
      @Override
        protected void   onStart() {
            super.onStart();
              Log.i(TAG,   ---onStart---启动);
        }
        //   继续--重新开始   Activity创建或者从被覆盖、后台重新回到前台时被调用
   
      @Override
        protected void   onResume() {
              super.onResume();
              Log.i(TAG,   ---onResume---继续--重新开始);
        }
        //   暂停     Activity被覆盖到下面或者锁屏时被调用
   
      @Override
        protected void   onPause() {
              super.onPause();
              Log.i(TAG, ---onPause---暂停);
        }
          //停止     退出当前Activity或者跳转到新Activity时被调用
   
      @Override
        protected void   onStop() {
              super.onStop();
              Log.i(TAG, ---onStop---停止);
        }
        //   毁灭      退出当前Activity时被调用,调用之后Activity就结束了
   
      @Override
        protected void   onDestroy() {
              super.onDestroy();
            Log.i(   


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程