博客
关于我
安卓开发(三) Activity与布局
阅读量:500 次
发布时间:2019-03-07

本文共 1892 字,大约阅读时间需要 6 分钟。

Activity生命周期与布局优化

Activity生命周期

在Android开发中,Activity的生命周期是一个非常重要的概念,了解它可以帮助我们更好地管理应用程序的状态和用户交互。

Activity生命周期回调

Activity在其生命周期中会调用一系列回调方法,主要用于管理其状态和用户交互。以下是Activity的主要生命周期回调及其作用:

  • onCreate(Bundle savedInstanceState)

    • 表示Activity正在被创建。此时可以初始化Activity的布局、加载数据、绑定控件等。
  • onRestart()

    • 表示Activity正在重新启动。这通常发生在用户返回到之前已经停用的Activity时。
  • onStart()

    • 表示Activity正在被启动。此时Activity从不可见状态变为后台可见状态,但尚未与用户进行交互。
  • onResume()

    • 表示Activity已经可见,可以与用户进行交互。
  • onPause()

    • 表示Activity正在停止。这通常发生在用户启动了新的Activity或按返回键退出时。
  • onStop()

    • 表示Activity即将停止。此时Activity从可见状态变为完全不可见状态。
  • onDestroy()

    • 表示Activity即将被销毁。此时可以释放资源和进行必要的清理工作。
  • Activity生命周期常见问题解答

  • 从Activity A启动Activity B时,Activity A的onPause()与Activity B的onResume()谁先执行?

    • Activity A的onPause()会先执行,随后Activity B的onResume()才会被调用。
  • 标准Dialog是否会影响Activity的生命周期?

    • 标准Dialog不会对Activity的生命周期产生影响。
  • 全屏Dialog是否会影响Activity的生命周期?

    • 全屏Dialog同样不会对Activity的生命周期产生影响。
  • 主题为Dialog的Activity是否会影响生命周期?

    • 主题为Dialog的Activity会影响生命周期,与跳转Activity一致。
  • 布局理论

    在Android开发中,布局是决定应用程序界面显示效果的关键因素。了解布局的相关知识可以帮助开发者更好地设计和优化用户界面。

    View和ViewGroup

  • View

    • View可以理解为Android中的视图,占据屏幕上的一块矩形区域,负责绘制组件及其事件处理。
  • ViewGroup

    • ViewGroup是View类的扩展,用于容纳其他组件。常见的ViewGroup实现类有LinearLayout、RelativeLayout等。
  • Padding和Margins

    • Padding

      • 表示视图的内边距,即视图内容与视图边缘的距离。Padding会占据视图的宽度和高度。
    • Margins

      • 表示视图的外边距,即视图与其父容器之间的距离。Margins不会占据视图的宽度和高度。

    LinearLayout布局

    LinearLayout是Android中最常用的布局之一,支持水平和垂直排列。

    • 常用属性
      • gravity:设置视图内容在视图中的显示位置。
      • layout_gravity:设置视图在其父容器中的显示位置。
      • weight:用于等比例划分布局空间。

    FrameLayout布局

    FrameLayout是一个简单的布局,适用于在屏幕上创建一个空白区域,并将控件放置在左上角。

    • 特点
      • 支持 ScrollView和HorizontalScrollView以实现滚动功能。
      • 前景图像可以通过foregroundforegroundGravity属性设置。

    RelativeLayout布局

    RelativeLayout通过定义控件与其他控件的相对位置关系来实现布局。

    • 特点
      • 灵活性高,适合多种屏幕尺寸。-推荐使用相对布局来保证布局的一致性。

    TableLayout布局

    TableLayout用于创建表格布局,支持通过collapseColumnsshrinkColumnsstretchColumns属性对表格列进行管理。

    GridLayout布局

    GridLayout通过网格划分方式实现布局,支持自由编辑和交错显示。

    单位

    在Android中,常用的单位包括:

    • px (像素):基于屏幕密度的单位。
    • dp (密度无关像素):与屏幕密度无关的像素。
    • sp (与刻度无关的像素):用于字体大小的缩放。

    建议尽量使用dp作为空间大小单位,sp用于与文字相关的尺寸设置。

    转载地址:http://qdqcz.baihongyu.com/

    你可能感兴趣的文章
    npm install 报错 ERR_SOCKET_TIMEOUT 的解决方法
    查看>>
    npm install 报错 fatal: unable to connect to github.com 的解决方法
    查看>>
    npm install 报错 no such file or directory 的解决方法
    查看>>
    npm install 权限问题
    查看>>
    npm install报错,证书验证失败unable to get local issuer certificate
    查看>>
    npm install无法生成node_modules的解决方法
    查看>>
    npm install的--save和--save-dev使用说明
    查看>>
    npm node pm2相关问题
    查看>>
    npm run build 失败Compiler server unexpectedly exited with code: null and signal: SIGBUS
    查看>>
    npm run build报Cannot find module错误的解决方法
    查看>>
    npm run build部署到云服务器中的Nginx(图文配置)
    查看>>
    npm run dev 报错PS ‘vite‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
    查看>>
    npm scripts 使用指南
    查看>>
    npm should be run outside of the node repl, in your normal shell
    查看>>
    npm start运行了什么
    查看>>
    npm WARN deprecated core-js@2.6.12 core-js@<3.3 is no longer maintained and not recommended for usa
    查看>>
    npm 下载依赖慢的解决方案(亲测有效)
    查看>>
    npm 安装依赖过程中报错:Error: Can‘t find Python executable “python“, you can set the PYTHON env variable
    查看>>
    npm.taobao.org 淘宝 npm 镜像证书过期?这样解决!
    查看>>
    npm—小记
    查看>>