首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏【Android开发基础】

    android横竖屏切换问题

    需要重写Activity的onConfigurationChanged方法。 public void onConfigurationChanged(Configuration newConfig) {   2.  super.onConfigurationChanged(newConfig);   3.  事件   @Override   public void onConfigurationChanged(Configuration config) {   super.onConfigurationChanged 加入 @Override public void onConfigurationChanged(Configuration config) { super.onConfigurationChanged

    3.6K20编辑于 2023-02-10
  • 来自专栏该溜子的专栏

    【Android】屏幕翻转导致数据丢失解决方案——数据持久化

    ; } @Override public void onConfigurationChanged(@NonNull Configuration newConfig) { super.onConfigurationChanged(newConfig); if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE ){ Log.i(TAG, "onConfigurationChanged: ORIENTATION_LANDSCAPE"); } else if (newConfig.orientation 在ConfigChangesActivity类中重写onConfigurationChanged方法 @Override public void onConfigurationChanged( == Configuration.ORIENTATION_LANDSCAPE){ Log.i(TAG, "onConfigurationChanged: ORIENTATION_LANDSCAPE

    29310编辑于 2025-08-23
  • 来自专栏向治洪

    android横竖屏切换activity生命周期变化

    onPause--> onStop--> onDestroy--> onCreate--> onStart--> onRestoreInstanceState--> onResume--> onConfigurationChanged configChanges="orientation" 改成 android:configChanges="orientation|keyboardHidden",执行步骤3,就只打印onConfigChanged onConfigurationChanged --> 8、执行步骤4 onConfigurationChanged--> onConfigurationChanged-->  总结: 1、不设置Activity的android:configChanges 切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次 3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged

    1.6K80发布于 2018-01-30
  • 来自专栏风吹杨柳

    实习杂记(27):android中关于横竖屏切换的那些事

    然后重写onConfigurationChanged方法: @Override public void onConfigurationChanged(Configuration newConfig) {   // TODO Auto-generated method stub   super.onConfigurationChanged(newConfig);   Log.v(" == onConfigurationChanged name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> </manifest> 同时在Activity的Java文件中重载onConfigurationChanged 代码如下:  @Override      public void onConfigurationChanged(Configuration newConfig)     {          super.onConfigurationChanged(newConfig);       if (this.getResources().getConfiguration().orientation

    1.3K30发布于 2019-07-08
  • 来自专栏码客

    Android中页面旋转不销毁Webview(不重建Activity)

    ,可以这样配置: android:configChanges="orientation|screenSize" 这样,当设备的方向或屏幕尺寸发生变化时,Activity不会被销毁和重新创建,而是会调用onConfigurationChanged 事件处理 只有上面的配置就可以了,如果想在设备旋转的时候处理一些东西可以覆盖onConfigurationChanged()方法,以处理配置更改事件。 setJavaScriptEnabled(true); webView.loadUrl("https://example.com"); } @Override public void onConfigurationChanged (Configuration newConfig) { super.onConfigurationChanged(newConfig); // 如果不想做任何事情,可以不在这个方法里面写任何代码 Kotlin中 override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged

    1.7K10编辑于 2024-04-13
  • 来自专栏android自用

    Android接入USB设备后导致Activity重新调用onCreate问题

    configChanges="screenSize|keyboard|keyboardHidden|navigation" 然后在java代码中增加 @Override public void onConfigurationChanged (@NonNull Configuration newConfig) { super.onConfigurationChanged(newConfig); } 但是,发现问题依然出现

    88710编辑于 2023-07-31
  • 来自专栏代码GG之家

    google 进入分屏后在横屏模式按home键界面错乱( 四)

    此过程会调用到activity的onConfigurationChanged方法,用来通知activity当前配置的更改。 setNewConfiguration的内容为: 这里就是关注下onConfigurationChanged方法,此方法返回需要resize的stack列表。 defaultDisplayContent.getDockedDividerController().onConfigurationChanged(); 这个方法完成屏幕方向变化,更新当前分割线的数据。 我们再去systemUi那边,看下Divider.java里面,也有onConfigurationChanged,还是复写的方法,我们需要关注这个,因为此方法是在转屏的时候,会触发。 系统方向改变,会调用SystemUIApplication.java里面的onConfigurationChanged方法,这里它会调用注册进来的所有mServices,去依次通知onConfigurationChanged

    1.7K80发布于 2018-02-02
  • 来自专栏俞其荣的博客

    关于Activity生命周期的小结

    ); Log.i(TAG, "FirstActivity onRestoreInstanceState"); } @Override public void onConfigurationChanged (Configuration newConfig) { super.onConfigurationChanged(newConfig); Log.i(TAG, "FirstActivity onConfigurationChanged"); } } 主要是在生命周期方法中设置了Log打印。 orientation|keyboardHidden”时,Android 4.0以上和不设置一样,仍然是重新调用生命周期方法,而且横竖屏都是一次;Android2.X版本切屏不会重新调用各个生命周期,只会执行onConfigurationChanged AndroidManifest.xml中设置Activity 的android:configChanges="orientation|keyboardHidden|screenSize"时,才不重新创建Activity,但会调用onConfigurationChanged

    44230编辑于 2022-07-28
  • 来自专栏程序员开发工具

    Activity横竖屏切换的那些事

    反之,如果我们配置了相应的 configuration,当新的 configuration 发生变化的时候,会回调 Activity 的 onConfigurationChanged() 方法。 android:configChanges 常用配置 在Android 3.2以后,如果我们进行下列的配置 ,这样的话横竖屏不会重新创建Activity,但是会调用 onConfigurationChanged ()方法会调用一次 横屏 》 竖屏 onConfigurationChanged()方法也会调用一次 因此我们通常可以进行相应的处理 public void onConfigurationChanged 如果我们打开系统的自动旋转屏幕,旋转屏幕,系统不会发生变化,也不会调用 Activity 的 onConfigurationChanged 方法。 当我们手动调用 setRequestedOrientation() 方法去改变屏幕的方向的时候,还是会调用 onConfigurationChanged 方法的 ---- 扩展 设置全屏模式 // 去掉

    2.7K20发布于 2018-09-18
  • 来自专栏BennuCTech

    横竖屏切换导致页面频繁重启?详细解读 screenLayout

    相反,Activity 会保持运行状态,并且系统会调用其 onConfigurationChanged() 方法。 但是当我们添加了该配置,如果该配置发生变更,则不会重启Activity,会调用onConfigurationChanged()方法。 screenLayout 前面我们知道存在配置时会执行onConfigurationChanged(),这个函数的参数是Configuration类型的,这个类里保存着Activity的配置,我们来看看对 小新平板 那么为什么小新平板上会有不同的现象,在android:configChanges中添加screenLayout完后我在onConfigurationChanged函数中debug获取screenLayout

    3.8K30编辑于 2022-05-31
  • 来自专栏Sorrower的专栏

    使用VideoView做个实用的视频播放器

    当然了, 还要重写onConfigurationChanged, 见后面横竖屏切换. <?xml version="1.0" encoding="utf-8"? 我们在Toolbar里面添加切换横竖屏按钮, 然后重写onConfigurationChanged. @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged

    1.7K50发布于 2018-09-04
  • 来自专栏程思阳的专栏

    Android 屏幕横竖切换详解

    例如手机从12键盘切换到全键盘 6. touchscreen或navigation: 键盘或导航方式变化, 如果缺少了keyboardHidden选项,不能防止Activity的销毁,并且在之后提到的onConfigurationChanged android:onConfigurationChanged实际对应的是Activity里的onConfigurationChanged()方法。 在AndroidManifest.xml中添加上述代码的含义是表示在改变屏幕方向、弹出软件盘和隐藏软键盘时,不再去执行onCreate()方法,而是直接执行onConfigurationChanged(

    2.9K30编辑于 2022-01-11
  • 来自专栏分享达人秀

    响应Android系统的事件

    如果程序需要监听系统设置的更改,则可以考虑重写Activity的onConfigurationChanged (Configuration newConfig)方法,该方法是一个基于回调的事件处理方法: cfg.densityDpi + "\n"); // 配置信息输出 configurationTv.setText(status.toString()); } // 重写onConfigurationChanged 方法,用于监听系统设置的更改 @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // 获取更改后的屏幕方向 int screen = newConfig.orientation activity> </application> </manifest> 上面的配置代码指定了该Activity可以监听屏幕方向改变的事件,这样当程序改变手机屏幕方向时,Activity的onConfigurationChanged

    1.8K90发布于 2018-02-02
  • 来自专栏蜉蝣禅修之道

    Android禁止横屏竖屏切换

    androidmanifest.xml文件中重新定义方向(给每个activity加上android:configChanges=”keyboardHidden|orientation”属性),并根据Activity的重写onConfigurationChanged (Configuration newConfig)方法来控制,这样在转屏时就不会重启activity了,而是会去调用onConfigurationChanged(Configuration newConfig

    4K60发布于 2018-05-23
  • 来自专栏指点的专栏

    Android 中 activity 的生命周期和数据储存

    以上时要加 screenSize 属性,不然没有效果) ,该配置表明当 Android 设备屏幕方向、物理键盘(滑盖键盘)、屏幕大小状态改变时不用系统去处理,而是转由当前 activity 对象调用 onConfigurationChanged (Configuration newConfig) 方法自己处理 同时在当前 activity 对象对应的 Java 代码中加入处理方法: public void onConfigurationChanged (Configuration newConfig) { Log.v(TAG, "Configuration Change"); super.onConfigurationChanged

    1K20发布于 2019-01-18
  • 来自专栏软件绿色联盟动态

    折叠屏丨华为专家深度解读折叠屏连续性和拖拽适配介绍

    1)页面不重启,动态调整布局: 这种方式适用于需要调整的显示内容较少的场景,通过在onConfigurationChanged方法中通过代码动态调整UI来适配;重新初始化View,将View和数据重新绑定 这种情况建议开发者重写onConfigurationChanged() 方法,动态调整页面布局,自适应屏幕变化。 问题3:折叠展开或者分屏后显示异常 当应用设置了页面不重启,但是在onConfigurationChanged方法中没有动态调整布局时,会导致折叠展开或者分屏后显示异常,这时应用的窗口宽度发生变化。 这主要是由于应用的一些控件的宽度是和应用窗口宽度动态计算出来的,可以通过onConfigurationChanged将这部分逻辑代码重新执行一遍来解决问题。

    1.7K20编辑于 2022-03-31
  • 来自专栏Android机器圈

    RePlugin 插件化-内置加载

    super.onTrimMemory(level); RePlugin.App.onTrimMemory(level); } @Override public void onConfigurationChanged (Configuration newConfig) { super.onConfigurationChanged(newConfig); RePlugin.App.onConfigurationChanged

    72130发布于 2018-06-20
  • 来自专栏拭心的安卓进阶之路

    Android 进阶1:Activity 的生命周期

    相反,Activity 会调用 onConfigurationChanged()方法,并且向此方法传递 Configuration 对象,这个对象代表当前所有配置,你可以根据不同配置进行不同的处理: @ Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show(); } } 如果在配置改变时仍使用旧的状态,则可以不实现 onConfigurationChanged

    1.5K100发布于 2018-01-05
  • 来自专栏Android知识分享

    Carson带你学Android:这是一份全面 & 清晰的Application类使用指南

    public void onLowMemory() { } @Override public void onConfigurationChanged OnTrimMemory()中的TRIM_MEMORY_COMPLETE级别 若想兼容Android 4.0前,请使用OnLowMemory();否则直接使用OnTrimMemory()即可 3.5 onConfigurationChanged registerComponentCallbacks(new ComponentCallbacks2() { @Override public void onConfigurationChanged android:configChanges="keyboardHidden|orientation|screenSize" // 设置该配置属性会使 Activity在配置改变时不重启,只执行onConfigurationChanged

    83710编辑于 2022-03-24
  • 来自专栏韩曙亮的移动开发专栏

    【Android 应用开发】 Application 使用分析

    Android 真机中是不会回调该方法的; -- 注意 : Application 的 onTerminate() 方法体是空的, 这里不许要执行父类的方法 super.onTerminate(); (4) onConfigurationChanged () onConfigurationChanged() 方法简介 :  -- 调用时机 : 配置改变时回调这个方法; (5) Application 代码分析 Application 相关代码 :  for (int i=0; i<callbacks.length; i++) { ((ComponentCallbacks)callbacks[i]).onConfigurationChanged (Configuration newConfig); void onLowMemory(); } (1) onConfigurationChanged() 方法介绍 方法介绍 : 该方法回调后需要重新加载新配置对应的资源 , 如果 Activity 对应配置改变需要 重启组件, 其它组件不用重启; -- 方法全称 : void onConfigurationChanged(Configuration newConfig)

    1.2K20编辑于 2023-03-27
领券