IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android XML 布局基础(二)ID 用法 -> 正文阅读

[移动开发]Android XML 布局基础(二)ID 用法

  • 任何 View 对象均可拥有与之关联的整型 ID,用于在结构树中对 View 对象进行唯一标识。编译应用后,系统会以整型形式引用此 ID,但在布局 XML 文件中,系统通常会以字符串的形式在 id 属性中指定该 ID。这是所有 View 对象共有的 XML 属性(由 View 类定义),并且会经常使用该属性。

  • ID 字符串名称,在同一布局中必须是唯一的,不能重名,不同布局中可以同名。

  • XML 标记内部的 ID 语法:

    android:id="@+id/dzm_test"
    
    • 命名格式:/ 后面的 ID 必须为字母开头。

      android:id="@+id/123"      ×
      android:id="@+id/123adc"   ×
      android:id="@+id/-adc"     ×
      android:id="@+id/abc123"   √
      
    • @:字符串开头处的 @ 符号表示 XML 解析器,解析并展开 ID 字符串的其余部分,并将其标识为 ID 资源

    • 加号(+):表示这是一个新的资源名称,必须创建该名称并将其添加到资源 (R.java 文件中) 内,Android 框架还提供许多其他 ID 资源,引用Android 资源 ID 时,不需要加号,但必须添加 android 软件包命名空间:

      android:id="@android:id/empty"
      

      添加 android 软件包命名空间后,将从 android.R 资源类而非本地资源类引用 ID

    • 通过带 + 符号的 ID 在编译后会添加到 R.java (R.txt) 文件中,附带:Android Studio 中 R.java 没了,转为 R.txt 文件!

      image.png

  • @+id@id 的区别:

    @+id:其实就是在 R.java (R.txt) 文件中新增一个 ID 名称,如果存在相同的名称会覆盖之前的名称。

    @id:是直接引用 R.java (R.txt) 文件中存在的 ID 资源,如果不存在,则会编译报错。

  • 使用案例

    <TextView
        android:id="@+id/dzm"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content
        android:text="Hello World!"
        android:textSize="24sp"/>
    
    // 通过代码获取到组件元素
    TextView textview = (TextView)findViewById(R.id.dzm);
    
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-27 14:12:28  更:2021-09-27 14:13:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:04:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码