当前位置: 首页 > news >正文

Kotlin学习记录2

Android Studio中的注意事项

本文为个人学习记录,仅供参考,如有错误请指出。本文主要记录在Android Studio中开发时遇到的问题和回答。


Fragment有哪些特性?

Fragment 是 Android 开发中的一个重要组件,具有以下特性:

  • 模块化与复用性:

1.Fragment 可以将 UI 和逻辑模块化,便于在不同 Activity 中复用。例如,一个 Fragment 可以在多个 Activity 中使用,减少代码重复。

  • 生命周期管理:

1.Fragment 有自己的生命周期,与 Activity 生命周期紧密关联。
2.主要生命周期方法包括 onCreateView、onStart、onResume、onPause、onStop、onDestroyView 等。

  • 动态添加与替换:

1.可以在运行时动态添加、替换或移除 Fragment。
2.使用 FragmentManager 和 FragmentTransaction 来管理 Fragment 的操作。

  • 支持回退栈:

1.Fragment 事务可以添加到回退栈中,用户可以通过返回键回溯 Fragment 状态。
2.使用 addToBackStack 方法将事务加入回退栈。

  • 与 Activity 通信:

1.Fragment 可以通过 getActivity() 获取所属的 Activity。
2.Activity 可以通过 FragmentManager 获取 Fragment 实例,进行通信。

  • UI 灵活性:

1.Fragment 可以在不同屏幕尺寸和方向上灵活调整布局。例如,在平板设备上可以同时显示多个 Fragment,而在手机上可能只显示一个。

  • 数据传递:

1.可以通过 setArguments 和 getArguments 方法在 Fragment 之间传递数据。
2.也可以通过接口回调的方式实现 Fragment 与 Activity 之间的数据交互。

  • 嵌套 Fragment:

1.支持在 Fragment 中嵌套其他 Fragment,进一步增加 UI 的复杂性和灵活性。

  • 总结:

Fragment 提供了一种灵活的方式来构建和管理 UI 组件,适用于复杂的应用界面设计,特别是在需要适应不同屏幕尺寸和设备类型时。


TextView有哪些特性?
  1. 文本内容相关属性
    android:text 设置 TextView 显示的文本内容。 例如:android:text=“Hello World”。
    android:textSize 设置文本的字体大小,单位为 sp(缩放像素)。 例如:android:textSize=“16sp”。
    android:textColor 设置文本的颜色,可以是颜色值或资源引用。 例如:android:textColor=“#FF0000” 或 android:textColor=“@color/red”。
    android:textStyle 设置文本的样式,如粗体 (bold)、斜体 (italic) 或正常 (normal)。 例如:android:textStyle=“bold|italic”。
    android:fontFamily 设置文本的字体。 例如:android:fontFamily=“sans-serif”。
    android:textAllCaps 设置是否将所有文本转换为大写。 例如:android:textAllCaps=“true”。

  2. 布局相关属性
    android:layout_width 和 android:layout_height 设置 TextView 的宽度和高度。 常用值:match_parent、wrap_content 或具体尺寸(如 100dp)。
    android:gravity 设置文本在 TextView 内部的对齐方式。 例如:android:gravity=“center” 使文本水平和垂直居中。
    android:layout_gravity 设置 TextView 在其父容器中的对齐方式。 例如:android:layout_gravity=“center” 使 TextView 在父容器中居中。

  3. 背景与边框
    android:background 设置 TextView 的背景颜色或背景图片。 例如:android:background=“#CCCCCC” 或 android:background=“@drawable/bg_image”。
    android:drawableStart、android:drawableEnd、android:drawableTop、android:drawableBottom


访问权限:

在类中定义成员属性时,不同可见性的访问权限如下:

  • private:意味着该成员仅在此类中可见(包括其所有成员)。
  • protected:与private的可见性类似,外部无法使用,但在子类中可以使用。
  • internal:意味着本项目中任何地方都会看到其internal成员,但是别人引用我们项目时不行。
  • Public:意味着任何地方都可以访问。

生命周期:

视图的生命周期:与Activity的生命周期类似:

onCreate -> onCreateView(创建视图) -> onViewCreated(视图初始化) -> onStart -> onResume

Activity的生命周期:

在这里插入图片描述
在这里插入图片描述


wrap_content和match_parent有什么区别?
属性wrap_contentmatch_parent
行为视图大小根据内容自适应视图大小填充父容器的可用空间
适用场景内容大小不确定,希望视图自适应内容时希望视图占满父容器的全部空间时
示例TextView根据文本长度调整宽度Button占满屏幕宽度
父容器影响不受父容器大小影响,仅根据内容调整完全依赖父容器的大小

相关文章:

  • ShenNiusModularity项目源码学习(17:ShenNius.Admin.Mvc项目分析-2)
  • selenium自动化测试实战案例
  • 【机器学习】如何正确下载sklearn包
  • TDengine 语言连接器(C#)
  • 【2025年泰迪杯数据挖掘挑战赛】B题 完整论文 模型建立与求解
  • 在 Ubuntu 上通过 Docker 部署 Misskey 服务器
  • 【15】数据结构之基于树的查找算法篇章
  • 信奥赛之c++基础(取模运算与数位分离)
  • aslist和list的区别
  • 【Linux】进程池bug、命名管道、systemV共享内存
  • 【实战篇】数字化打印——打印管理模块的业务设计(一)
  • ES通过API操作索引库
  • 分布式计算领域的前沿工具:Ray、Kubeflow与Spark的对比与协同
  • 蓝桥杯常用的APi
  • spatk-sql核心
  • ngx_conf_handler - worker_connections 1024
  • OpenResty与Nginx的功能对比分析
  • visual studio 如何在 release 模式下调试
  • 中美电力标准差异下电机运行的影响及应对策略
  • 接口和抽象的区别?日常使用场景
  • 复旦大学史地学系在北碚
  • 从南宋遗韵到海派风情,解码江南服饰美学基因
  • 影子调查丨义门陈遗址建筑被“没收”风波
  • 伊朗艺术中的中国风
  • 冲线!“天工”夺得全球首个人形机器人半马冠军
  • 两大跨国巨头称霸GLP-1市场,国产减肥药的机会在哪?