news 2026/8/11 22:49:45

Android学习3其他布局与中级控件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android学习3其他布局与中级控件

其他布局

相对布局 RelativeLayout

子视图根据其他视频或者父容器继续相对位置进行定位。

xml属性RelativeLayout定义说明
layout_toLeftOfLEFT_OF当前视图在指定视图的左边
layout_toRightOfRIGHT_OF当前视图在指定视图的右边
layout_belowBELOW当前视图在指定视图的上方
layout_aboveABOVE当前视图在指定视图的下方
layout_alignLeftALIGN_LEFT当前视图在指定视图的左侧对齐
layout_alignRightALIGN_RIGHT当前视图在指定视图的右侧对齐
layout_alignTopALIGN_TOP当前视图在指定视图的顶部对齐
layout_alignBottomALIGN_BOTTOM当前视图在指定视图的底部对齐
layout_centerInParentCENTER_IN_PARENT当前视图在上级视图居中
layout_centerInHorizontalCENTER_HORIZONTAL当前视图在上级视图水平居中
layout_centerInVerticalCENTER_VERTICAL当前视图在上级视图垂直居中
layout_alignParentLeftALIGN_PARENT_LEFT当前视图与上级视图的左侧对齐
layout_alignParentRightALIGN_PARENT_RIGHT当前视图与上级视图的右侧对齐
layout_alignParentTopALIGN_PARENT_TOP当前视图与上级视图的顶部对齐
layout_alignParentBottomALIGN_PARENT_BOTTOM当前视图与上级视图的底部对齐

框架布局 FrameLayout

所有子视图View一层一层的堆叠在一起,类似卡片,默认从左上角开始,通过layout_gravity控制子视图的对齐方式

特殊控件

Compoundbutton:抽象的复合按钮,需要进行派生实现,例如CheckBox,RadioButton,Switch等

属性作用
checked指定勾选状态
button指定勾选的图标(不指定则使用默认)
函数作用
setChecked设置勾选状态
setButtonDrawable设置勾选图形
setOnCheckedChangeListener设置勾选状态变化监听器
isChecked判断是否勾选

复选框CheckBox

最简单的Compoundbutton实现

单选按钮RadioButton

需要使用RadioGroup进行单选组设置,不然多个单选按钮不会组合。
可以通过orientaion指定radio的排列顺序

开关按钮Switch

xml属性Switch设置方法说明
textOnsetTextOn设置左侧开启时的文本
textOffsetTextOff设置左侧关闭时的文本
switchPaddingsetSwitchPading设置左右两个开关按钮的距离
thumbTextPaddingsetThumbTextPadding设置文本左右两边的距离。 如果设置了该属性switchPadding性就会失效
thumbsetThumbDrawable/setThumbResouce设置开关轨道的背景
tracksetTrackDrawable/setTrackResouce设置开关标识图标

下拉框Spinner

属性作用
spinnerMode设置下路列表显示模式(dropdown/dialog)
  • dropdown:从空间下方展开一个下拉列表
  • dialog:弹窗一个对话框,悬浮在屏幕中央
设置数据的方式

1.代码指定

2.资源绑定
1.在string.xml中设置数据

2.在代码中动态绑定

编辑框EditText

文本编辑框,输入文本信息

属性作用
text文本内容
textPassword文本密码,用*代替内容显示
number整数
numberSigned带服务号的整数,允许负数
numberDecimal带小数点的数字
numberPassword数字密码,用*代替内容显示
datetime时间日期格式,允许数字,横线,斜杠,空格,冒号
date日期格式,运行数字,横线-和斜杠/
time时间格式,运行数字和冒号:
cursorVisible是否显示光标
textCursorDrawable光标图像
文本监听器接口TextWatcher

这是一个接口,专门用来监听EditText或其他文本输入控件的文本内容的变化接口,需要实现以下回调接口完成文本变化的不同阶段处理。

  • beforeTextChanged:在文本改变之前触发
  • onTextChanged:在文本改变过程中触发
  • afterTextChanged:在文本改变之后触发

自动完成编辑框

实现原理:EditText + TextWatcher+下拉列表Spinner
在输入变化时, onTextChanged调整spinner变化

xml属性设置方法说明
completionHintsetCompletionHint设置下拉列表底部的提示文字
completionThresholdsetCompletionHint设置至少输入多少个字符才提示显示提示
dropDownHorizontalOffsetsetDropDownHorizontalOffset设置下拉列表与文本框之间的水平偏移
dropDownVerticalOffsetsetDropDownVerticalOffset设置下拉列表与文本框之间的垂直偏移

Activity基础

生命周期

  • 一个Activity代表一个页面
  • onCreate函数是入口函数
  • 通过startActivity函数进入下一个页面
生命周期函数作用
onCreate创建页面,加载元素到内存
onStart开始页面,显示到屏幕
onResume恢复页面,让页面在屏幕互动起来
onPause暂停页面,让页面在屏幕的动作停下来
onStop停止页面,把页面从屏幕撤下来
onDestroy销毁页面,把页面从内存清除掉
onRestart重启页面,重新加载内存中的页面数据

传递消息Intent

Intent是各个组件之间信息沟通的桥梁,可以在Activity,Service,Broadcast之间沟通。

工作流程:

  • Intent需要说明,从哪里来,到哪去,怎么走
  • 发送发携带数据,接收方进行解包使用
  • 若发起方要求判断接收方处理结果,Intent就需要让接收方传回应答的数据内容
组成部分设置方法说明与用途
ComponentsetComponent组件,用于指定Intent的来源于目的
ActionsetAction动作,用于指定intet的操作行为
DatasetDataUri,用于指定动作要操作的数据路径
CategoryaddCategory类别,用于指定Intent的操作类型
TypesetType数据类型,指定Data类型的定义
ExtrasputExtras扩展信息,用于指定装载的参数信息
FlagssetFlags标志位,用于指定Intent的运行模式

使用Intent的方式

  • 显式使用,直接使用activity的名称
  • 隐式使用,不直接指出跳转的activity,通过给出动作让系统匹配相同字符串定义的目标,属于模糊匹配(相关动作需要权限,须在manifest声明或代码申请)
动作常量常量值说明
ACTION_MAINandroid.intent.action.MAINAPP启动的入口
ACTION_VIEWandroid.intent.action.VIEW显示数据给用户
ACTION_EDITandroid.intent.action.EDIT显示可编辑的数据
ACTION_CALLandroid.intent.action.CALL拨号
ACTION_DIALandroid.intent.action.DIAL打电话
ACTION_SENDandroid.intent.action.SEND发短信
ACTION_ANSWERandroid.intent.action.ANSWER接电话
ACTION_SEARCHandroid.intent.action.SEARCH导航栏上的搜索动作(SearchView)

传递参数

  • 向下一个Activity传递参数
  • 发送方

    接收方
  • 向上一个Activity传递参数

发送方:

接收方:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 15:41:27

会玩桌球辅助线工具Pro版|安卓专用万能台球瞄准线软件

温馨提示:文末有联系方式软件核心功能:智能辅助瞄准线与延长线 本款台球辅助工具主打高精度图像识别技术,可实时生成精准的击球辅助线与目标球延长线,大幅提升瞄准效率与进球率,尤其适用于新手进阶与高手复盘分析。全面…

作者头像 李华
网站建设 2026/7/14 15:41:26

探索基于三菱 PLC 和组态王的锅炉控制系统

No.951 基于三菱PLC和组态王锅炉控制系统在工业自动化领域,锅炉控制系统的稳定性与高效性至关重要。今天咱就来聊聊基于三菱 PLC 和组态王构建的锅炉控制系统,这可是个超实用的组合。 三菱 PLC 在锅炉控制中的核心作用 三菱 PLC(可编程逻辑控…

作者头像 李华
网站建设 2026/7/14 15:41:26

openYuanrong:多语言运行时独立部署以库集成简化 Serverless 架构 拓扑感知调度:提升函数运行时性能

一、传统 Serverless 的痛点 在传统的 Serverless 架构中,运行时通常采用独立进程或容器化的部署方式。这种模式存在以下问题: 1. 架构复杂 2. 通信开销大 3. 运维门槛高 二、openYuanrong 的设计理念2. 核心优势 零通信开销: 函数调用直接在…

作者头像 李华
网站建设 2026/7/14 15:41:29

Phi-3-vision-128k-instruct惊艳案例分享:128K上下文下的复杂图表深度推理

Phi-3-vision-128k-instruct惊艳案例分享:128K上下文下的复杂图表深度推理 1. 模型能力概览 Phi-3-Vision-128K-Instruct是目前最先进的轻量级开放多模态模型,专为处理复杂图文推理任务而设计。这个模型最引人注目的特点是支持长达128K的上下文窗口&am…

作者头像 李华
网站建设 2026/7/14 15:41:29

DIY智能无极调速风扇:基于EspHome固件与Home Assistant的完美融合

1. 从普通风扇到智能无极调速的华丽变身 去年夏天我被家里那台老旧风扇折磨得不轻——要么全速运转吵得人心烦,要么完全关闭热得睡不着。直到发现用EspHome和Home Assistant改造风扇的方法,才真正体会到什么叫"科技改变生活"。现在我的风扇能根…

作者头像 李华
网站建设 2026/7/14 15:41:30

从图片到Word:数学公式的高效转换技巧

1. 数学公式转换的痛点与解决方案 每次看到论文里那些复杂的数学公式就头疼吧?特别是当我们需要在Word文档里重新输入这些公式时,简直是一场噩梦。想象一下,你要输入一个带分式、积分符号和上下标的复杂公式,用Word自带的公式编辑…

作者头像 李华