《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

相关文章
|
9月前
|
Android开发 开发者
Android设置View是否可用
在Android开发中,有时需要将布局设置为不可点击状态(失去焦点)。常见的解决方法是使用`setOnClickListener(null)`,但本文介绍一种更通用的方式:通过封装`setViewEnabled`方法实现。该方法可递归设置View及其子View的启用状态,支持传入目标View和布尔值(`true`为可用,`false`为禁用)。例如,调用`setViewEnabled(edittext, false)`即可禁用EditText。文章附有源码及示例动图,帮助开发者快速理解与应用。
208 1
|
5月前
|
JSON 自然语言处理 数据格式
使用Tabs选项卡组件快速搭建鸿蒙APP框架
ArkUI提供了很多布局组件,其中Tabs选项卡组件可以用于快速搭建鸿蒙APP框架,本文通过案例研究Tabs构建鸿蒙原生应用框架的方法和步骤。
489 5
使用Tabs选项卡组件快速搭建鸿蒙APP框架
|
5月前
|
存储 消息中间件 人工智能
【05】AI辅助编程完整的安卓二次商业实战-消息页面媒体对象(Media Object)布局实战调整-按钮样式调整实践-优雅草伊凡
【05】AI辅助编程完整的安卓二次商业实战-消息页面媒体对象(Media Object)布局实战调整-按钮样式调整实践-优雅草伊凡
203 11
【05】AI辅助编程完整的安卓二次商业实战-消息页面媒体对象(Media Object)布局实战调整-按钮样式调整实践-优雅草伊凡
|
5月前
|
XML 存储 Java
【06】AI辅助编程完整的安卓二次商业实战-背景布局变更增加背景-二开发现页面跳转逻辑-替换剩余图标-优雅草卓伊凡
【06】AI辅助编程完整的安卓二次商业实战-背景布局变更增加背景-二开发现页面跳转逻辑-替换剩余图标-优雅草卓伊凡
160 3
【06】AI辅助编程完整的安卓二次商业实战-背景布局变更增加背景-二开发现页面跳转逻辑-替换剩余图标-优雅草卓伊凡
|
9月前
|
Android开发 数据安全/隐私保护 开发者
Android自定义view之模仿登录界面文本输入框(华为云APP)
本文介绍了一款自定义输入框的实现,包含静态效果、hint值浮动动画及功能扩展。通过组合多个控件完成界面布局,使用TranslateAnimation与AlphaAnimation实现hint文字上下浮动效果,支持密码加密解密显示、去除键盘回车空格输入、光标定位等功能。代码基于Android平台,提供完整源码与attrs配置,方便复用与定制。希望对开发者有所帮助。
178 0
|
12月前
|
JavaScript 前端开发 Android开发
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
442 13
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
796 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
7月前
|
存储 Android开发 数据安全/隐私保护
Thanox安卓系统增加工具下载,管理、阻止、限制后台每个APP运行情况
Thanox是一款Android系统管理工具,专注于权限、后台启动及运行管理。支持应用冻结、系统优化、UI自定义和模块管理,基于Xposed框架开发,安全可靠且开源免费,兼容Android 6.0及以上版本。
864 4
|
9月前
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
267 2
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
|
10月前
|
数据采集 JSON 网络安全
移动端数据抓取:Android App的TLS流量解密方案
本文介绍了一种通过TLS流量解密技术抓取知乎App热榜数据的方法。利用Charles Proxy解密HTTPS流量,分析App与服务器通信内容;结合Python Requests库模拟请求,配置特定请求头以绕过反爬机制。同时使用代理IP隐藏真实IP地址,确保抓取稳定。最终成功提取热榜标题、内容简介、链接等信息,为分析热点话题和用户趋势提供数据支持。此方法也可应用于其他Android App的数据采集,但需注意选择可靠的代理服务。
441 11
移动端数据抓取:Android App的TLS流量解密方案