《Android App开发入门:使用Android Studio 2.X开发环境》——2-4 组件的布局与属性设置

简介: 本节书摘来自华章计算机《Android App开发入门:使用Android Studio 2.X开发环境》一书中的第2章,第2-4节,作者 施威铭,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2-4 组件的布局与属性设置

为了方便用户设计 App,Android Studio 事先设计好了许多常用的视觉组件,我们只要把这些组件加到布局文件的布局编辑区(或单击下方的 Text 标签,切换到文本模式加入组件的标签),就可以很快地创建按钮、文本框、输入字段、多选按钮甚至图像等视觉组件。

每一个组件在程序执行时都有一个对应的 Java 对象,这个对象的类通常与在图形化的布局编辑器中看到的组件类相同。例如,显示“Hello World!”文字的是 TextView 类的组件,实际程序执行时就会有一个 TextView 类的对应对象,只要能获取这个对应的对象,就可以调用该对象的方法操控界面上的组件,如改变文字大小、变更显示的文字等。

image

把组件拉到布局编辑区后,接着要设置它的属性,如大小、颜色、文字以及功能等(这就与在 XML 设置标签的属性是一样的)。

image

image
image

image
image

id 属性

用户在视觉设计时创建的组件要如何在 Java 程序中取用呢?要做到这一点,最重要的是帮组件设置id属性值,并为组件命名。当组件设置了 id 属性后,就会在上一节介绍过的 R.java 中产生对应的资源 ID。Android 把所有可以放到图形化布局编辑区的组件都归属于一个资源类,也就是 id 类,因此对于 id 类的这些组件,其资源 ID 就是“R.id.资源名称”。例如,将一个TextView 经由 id 属性命名为 txv,用户就可以用 R.id.txv存取该 TextView了。

image

fndViewById() 方法

image

顾名思义,?ndViewById() 就是?nd view by id,也就是根据指定的资源 ID 找出对应View对象的意思。由于 ?ndViewById() 返回的是 View 类的对象,因此需要强制转型为组件真正所属的类,才能使用组件特有的功能。

image
image

textView的常见属性

除了 id 属性以外,组件还有许多其他属性,在本书后文会陆续进行介绍,此处先看一下 textView 的几个常用属性。

image
image

在属性中设置引用

有些属性必须引用(Reference)其他资源,在设置时是以“@ 资源类 / 资源名称”的格式指定所要使用的资源,如要显示 res/mipmap/ic_launcher.png 图标文件,可将引用设为 “@mipmap/ic_launcher”。这是资源在 XML(如布局设置文件)的写法, 而之前的 “R.资源类.资源名称”是在 Java 程序中的写法(如 R.mipmap.ic_launcher)。

image

有些属性可以直接设置值,也可以引用资源,如设置组件上所要显示文字的 text 属性,就可以直接在属性字段填入要显示的文字,或者使用定义在 res/values 文件夹下 strings.xml 文件中的字符串。例如:

image
image

使用引用资源的好处是未来可以根据用户所使用的语言提供不同的资源文件,让系统自动选择符合该用户能阅读的文字、图形等,而不需要更改任何一行程序代码。

image

在属性中设置方法的名称

有些属性会引用方法(Method)而不是资源(Resource)。例如,下一节马上会用到一个叫 bigger() 的方法,用户如果把 bigger 填入 button 按钮组件的 onClick 属性字段,之后凡是单击button ,Android 系统都会根据 onClick字段的引用执行 bigger() 方法。

image

完成上述自定义方法与属性设置后,Android 就会自动在用户单击按钮时调用用户的自定义方法(bigger),达到单击按钮就放大文字的效果。

image

相关文章
|
29天前
|
存储 Android开发 开发者
深入理解安卓应用开发的核心组件
【10月更文挑战第8天】探索Android应用开发的精髓,本文带你了解安卓核心组件的奥秘,包括Activity、Service、BroadcastReceiver和ContentProvider。我们将通过代码示例,揭示这些组件如何协同工作,构建出功能强大且响应迅速的应用程序。无论你是初学者还是资深开发者,这篇文章都将为你提供新的视角和深度知识。
|
4天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
21 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
2天前
|
XML 存储 Java
探索安卓开发之旅:从新手到专家
【10月更文挑战第35天】在数字化时代,安卓应用的开发成为了一个热门话题。本文旨在通过浅显易懂的语言,带领初学者了解安卓开发的基础知识,同时为有一定经验的开发者提供进阶技巧。我们将一起探讨如何从零开始构建第一个安卓应用,并逐步深入到性能优化和高级功能的实现。无论你是编程新手还是希望提升技能的开发者,这篇文章都将为你提供有价值的指导和灵感。
|
2天前
|
Android开发
布谷语音软件开发:android端语音软件搭建开发教程
语音软件搭建android端语音软件开发教程!
|
9天前
|
编解码 Java Android开发
通义灵码:在安卓开发中提升工作效率的真实应用案例
本文介绍了通义灵码在安卓开发中的应用。作为一名97年的聋人开发者,我在2024年Google Gemma竞赛中获得了冠军,拿下了很多项目竞赛奖励,通义灵码成为我的得力助手。文章详细展示了如何安装通义灵码插件,并通过多个实例说明其在适配国际语言、多种分辨率、业务逻辑开发和编程语言转换等方面的应用,显著提高了开发效率和准确性。
|
8天前
|
Android开发 开发者 UED
安卓开发中自定义View的实现与性能优化
【10月更文挑战第28天】在安卓开发领域,自定义View是提升应用界面独特性和用户体验的重要手段。本文将深入探讨如何高效地创建和管理自定义View,以及如何通过代码和性能调优来确保流畅的交互体验。我们将一起学习自定义View的生命周期、绘图基础和事件处理,进而探索内存和布局优化技巧,最终实现既美观又高效的安卓界面。
21 5
|
6天前
|
JSON Java Android开发
探索安卓开发之旅:打造你的第一个天气应用
【10月更文挑战第30天】在这个数字时代,掌握移动应用开发技能无疑是进入IT行业的敲门砖。本文将引导你开启安卓开发的奇妙之旅,通过构建一个简易的天气应用来实践你的编程技能。无论你是初学者还是有一定经验的开发者,这篇文章都将成为你宝贵的学习资源。我们将一步步地深入到安卓开发的世界中,从搭建开发环境到实现核心功能,每个环节都充满了发现和创造的乐趣。让我们开始吧,一起在代码的海洋中航行!
|
8天前
|
缓存 数据库 Android开发
安卓开发中的性能优化技巧
【10月更文挑战第29天】在移动应用的海洋中,性能是船只能否破浪前行的关键。本文将深入探讨安卓开发中的性能优化策略,从代码层面到系统层面,揭示如何让应用运行得更快、更流畅。我们将以实际案例和最佳实践为灯塔,引领开发者避开性能瓶颈的暗礁。
24 3
|
10天前
|
存储 IDE 开发工具
探索Android开发之旅:从新手到专家
【10月更文挑战第26天】在这篇文章中,我们将一起踏上一段激动人心的旅程,探索如何在Android平台上从零开始,最终成为一名熟练的开发者。通过简单易懂的语言和实际代码示例,本文将引导你了解Android开发的基础知识、关键概念以及如何实现一个基本的应用程序。无论你是编程新手还是希望扩展你的技术栈,这篇文章都将为你提供价值和启发。让我们开始吧!
|
16天前
|
Java API Android开发
安卓应用程序开发的新手指南:从零开始构建你的第一个应用
【10月更文挑战第20天】在这个数字技术不断进步的时代,掌握移动应用开发技能无疑打开了一扇通往创新世界的大门。对于初学者来说,了解并学习如何从无到有构建一个安卓应用是至关重要的第一步。本文将为你提供一份详尽的入门指南,帮助你理解安卓开发的基础知识,并通过实际示例引导你完成第一个简单的应用项目。无论你是编程新手还是希望扩展你的技能集,这份指南都将是你宝贵的资源。
45 5
下一篇
无影云桌面