android 常用控件一览(从底层分析,为自定义控件做下小铺垫)

C#入门为什么如此简单?从零到GUI程序的5分钟实践路径 面向对象编程(OOP)是软件开发的基础范式,其核心在于封装、继承与多态;而Windows窗体(WinForms)作为经典的GUI开发框架,长期承担着桌面应用快速原型验证的关键角色。C#语言通过统一类型系统、事件驱动模型和Visual Studio集成设计器,将OOP概念转化为可触摸的工程实践:无需理解底层消息循环,即可拖拽控件并响应点击;不必手动管理内存,即可专注业务逻辑表达。这种‘所见即所得’的开发体验,显著降低了GUI编程门槛,使初学者能在5分钟内完成从Hello World到交互式窗体的跨越。本文基于 阅读详情

Android本身提供了很多控件比如我们常用的有
文本控件TextView和EditText;
按钮控件Button和ImageButton
状态开关按钮ToggleButton
单选复选按钮RadioButton和RadioGroup
单选按钮和复选按钮CheckBox和RadioButton
图片控件ImageView
时钟控件AnalogClock和DigitalClock
进度条ProgressBar和日期与时间选择控件DatePicker和TimePicker等。


TextView 控件继承自 View 类。TextView控件的功能是向用户显示文本内容同时可选择性让用户编辑文本。其中TextView不允许编辑。
EditText控件 EditText 控件继承自 TextView。EditText与TextView 最大的不同是 EditText是可以编辑的
Button控件继承自 TextView 类Button 的用法比较简单主要是为 Button 控件设置 View.OnClickListener.监听器并在监听器的实现代码中编写按钮按下事件的处理代码。
ImageButton 控件 ImageButton 继承自 ImageView。ImageButton 与Button最大的区别是ImageButton没有text 属性既按钮中将显示图片而不是文本。 ImageButton 控件中设置显示图片可以通过android:src 属性也可以通过setImageResurce(int ) 方法来实现
ToggleButton 控件是继承自 Button。ToggleButton 的状态只能是选中和未选中并且需要为不同的状态设置不同的显示文本。除了继承自父类的一些属性和方法之外ToggleButton 也具有一些自己的 ToggleButton 属性。
 CheckBox 和RadioButton 都只有选中和未选中两种状态可以通过androidcheck属性来设置。
不同的是RadioButton 是单选按钮需要编制到一个RadioGroup 中同一时刻一个RadioGroup 中只能有一个按钮处于选中状态。
CheckBox 和RadioButton 都是继承自 CompoundButton 中继承了一些成员
ImageView 控件负责显示图片其图片来源既可以是资源文件的id也可以是Drawable 对象或 Bitmap 对象还可以是 Content Provider 的Uri。  
AnalogClock继承自 View AnalogClock 控件显示模拟时钟只显示时针和分针
DigeitalClock 继承自 TextView。 ctrl+t DigetalClock 显示数字时钟可精确到秒。 时钟控件比较简单只需要在布局文件中声明控件即可。
DatePicker 继承自FrameLayout类日期选择控件的主要功能是向用户提供包含年、月、日的日期数据并允许用户对其进行选择。如果要捕获用户修改日期选择控件中数据的事件需要为DatePicker 添加 onDateChangedListener 监听器。
TimePicker 同样继承自FrameLayout 类。时间选择控件向用户显示一天中的时间可以为24小时制可以为AM/PM 制并允许用户进行选择。如果要捕获用户修改时间数据的事件便需要为TimePicker 添加OnTimeChangedListener 监听器
通过对android本身提供的控件的代码进行研究android中控件都是继承view类来实现通过重写ondraw方法来绘制我们所需要的控件。通过这个我们得到两点提示
第一我们可以在已有的控件的基础上通过重写相关方法来实现我们的需求。
第二就是继承view类或viewgroup类来绘制我们所需要的控件。一般来讲通过继承已有的控件,来自定义控件要简单一点。


2026前端面试风向变了:五大考察重点与实战准备 技术面试正在从记忆型考察转向应用型考察,尤其是前端领域,面试官更关注候选人能否在真实工程场景中定位问题、权衡方案并落地解决。从性能优化到请求调度,从框架设计取舍到AI能力接入,这些看似零散的题目背后,都指向同一种能力:面对复杂问题时,能否形成完整的分析、实施与验证链路。对于准备前端面试的开发者而言,理解这一逻辑比背诵结论更有价值。本文基于近期前端面经与团队招聘经验,梳理出2026年前端面试的五个核心方向,包括工程化实战、手写代码、框架原理、AI落地以及项目深挖,并给出对应的准备方法与避坑建议,帮助候选人在新 阅读详情

相关推荐

Unity热更新实战:基于xLua的Lua集成架构与性能优化指南

热更新是移动端游戏开发中的核心技术,它允许开发者在无需重新发布应用的情况下修复Bug或更新内容。其原理是通过在运行时动态加载和执行脚本代码,绕过平台审核流程。在Unity引擎中,Lua因其轻量级、高效和易于嵌入的特性,成为实现热更新的主流方案。通过C#与Lua虚拟机的双向通信桥梁,开发者可以将核心游戏逻辑脚本化,从而提升项目的可维护性和迭代效率。在应用场景上,Lua热更新广泛应用于需要频繁更新活动内容的移动游戏、大型MMO游戏的资源热更,以及需要快速响应线上问题的项目。本文聚焦于Unity与Lua的深度集成

weixin_34174105的博客 447

Android实现人物关系图谱及人物影响力图

前言最近在一个项目,其中有一个页面是要一个类似于个人分享关系图的效果。于是找了网上很多demo,借鉴的一些思路和方法,打算自己动手撸一个出来。效果整体思路创建自定义的view继承捆绑布局,放置一个绘制线的布局,和一个绘制头像的布局(用来add动态创建的iamgeview),这里默认给予3000*3000。获取数据,根据degree分别筛选出不同层次的实体类list。绘制第一层头像(即中心点):默认中心点的坐标为1500*1500。

金戈鐡馬 874

Mythos推理增强机制:Claude 3.5中受控的多跳逻辑与跨文档推断

大语言模型的推理能力正从通用生成向结构化、可验证、可审计的方向演进。其核心原理在于不改变模型参数,而是通过动态策略层调控注意力路径、插入中间验证节点、构建跨文档关系图谱与时间轴锚定机制,从而提升逻辑链完整性、隐含关系识别与长程因果归因等高阶认知任务的表现。这类受控推理增强技术已应用于金融尽调、法律合规与医疗政策分析等强证据依赖场景,显著降低幻觉率并提高结论可追溯性。Anthropic推出的Mythos即为此类技术的典型代表,它依托语义密度指数、上下文熵值与交互模式匹配度实现门控触发,本质是面向专业场景的推理

weixin_30514745的博客 393

简单实现一个关系图View

简单实现一个关系图Demo

WooddLee的博客 1536

Android常用控件

单选按钮控件,继承了 Button 控件,可以直接使用 Button 控件支持的各种属性和方法。与普通按钮不同的是,RadioButton 控件多了一个可以选中的功能。EditText 控件允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。其继承自 TextView 控件,具有 TextView 的所有属性的同时,还有自己的属性。CheckBox 控件是复选框控件,继承于 Button 控件,一般用于多项选中操作。除了拥有View类的属性,还发展了些自己的属性,常用的如下图所示。

weixin_58963766的博客 5741

[Android开发基础2] 七大常用界面控件(附综合案例)

安卓开发常用界面控件使用介绍,包括TextView、Button、EditText、ImageView、RadioButton、CheckBox、Toast,最后附带一个综合案例:账号注册界面加一巩固

人生处处是围城,一切都是最好的安排! 8618

Android自定义流式标签控件实战开发

Android开发中,系统提供的标准控件虽能满足常规UI需求,但在面对复杂交互与定制化布局时往往捉襟见肘。流式标签控件广泛应用于搜索热词、兴趣标签、商品筛选等场景,要求具备自动换行、动态增删、多行对齐、样式可配等特性,标准控件难以胜任。通过继承ViewGroup实现自定义容器,开发者可深度掌控测量(onMeasure)、布局(onLayout)、绘制(onDraw)三大流程,构建高性能、高扩展的原生解决方案。相比使用嵌套或引入第三方库(如FlowLayout),自定义

weixin_32242475的博客 715

小米安卓开发笔试题复盘:从Handler到Binder的核心考点与解题思路

从Java集合与并发基础出发,理解HashMap线程安全、单例模式双重检查锁等底层原理,再到Android系统机制中Handler消息循环、Binder跨进程通信的运作方式,这些核心知识点构成大厂安卓秋招笔试的高频考查范围。在真实工程场景下,任务栈的启动模式、屏幕适配方案、LRU缓存设计等考题,均强调对基础概念的精确掌握与工程落地能力。本文以小米安卓开发笔试题(A卷)为例,系统梳理各模块考查逻辑与解题策略,帮助备考者建立从原理到实践的完整复习路线。

weixin_34163553的博客 496

从爱奇艺Android真题看校招笔试:高频考点与备考策略

Android开发者的求职与工程实践中,扎实的计算机基础与系统原理始终是区分能力高低的分水岭。从Java并发、内存模型到Handler消息机制、Binder IPC,这些底层知识不仅支撑着日常应用开发,也直接决定了性能优化、架构设计的深度。随着技术栈持续演进,Kotlin协程、Compose以及AGP构建工具链的更新,让以android framework、android ams为代表的系统级知识变得更加重要。理解这些核心机制,能够帮助开发者更快定位问题、更合理地进行技术选型。本文以爱奇艺2019秋招An

weixin_34160277的博客 1532

百度2019校招移动软研面试题剖析:基础原理与高分答题框架

在技术面试中,数据结构、操作系统与Android核心机制构成了移动开发岗位的考察基石。无论是HashMap的哈希冲突处理、Handler的消息循环,还是TCP三次握手、进程线程调度,这些基础原理看似独立,实则共同指向候选人的设计能力与工程思维。掌握底层机制不仅有助于理解框架演进与技术选型,更能指导日常开发中的性能优化与崩溃排查。对于准备大厂校招或跳槽的移动端工程师而言,从基础概念出发,结合真实项目分析答题框架,是快速提升面试通过率的有效路径。本文以百度2019校招移动软研方向问答题合集为样本,拆解各类题目的

weixin_34060299的博客 359

Android社团管理App开发:从SQLite数据库设计到企业级应用架构实战

关系型数据库是移动应用数据持久化的核心技术,其核心原理是通过表结构设计、SQL语言操作实现数据的结构化存储与高效检索。在Android开发中,SQLite作为轻量级嵌入式数据库,为应用提供了可靠的本地数据管理能力,这对于需要离线操作和数据隐私保护的应用场景尤为重要。通过DAO模式封装数据库访问层,开发者能够实现业务逻辑与数据操作的解耦,提升代码的可维护性和可测试性。这种技术组合在社团管理、OA办公自动化等需要复杂权限控制和业务流程的应用中具有广泛价值。本文以热门的Android原生开发和SQLite数据库实

weixin_33597080的博客 312

学习规划001_音频Kernel+HAL层

核心目标:系统掌握音频Kernel(Linux/Android内核)、HAL层核心技术,独立完成手机/车载音频驱动开发、故障排查,积累可面试的实战项目经验,具备高新岗位竞争力,搭建长久职业生涯的技术体系(兼顾技术深度与行业适配性)。整体周期:90天(可灵活延长,重点求“精”不求“快”,确保每个知识点落地、每个项目独立完成),分4个阶段:基础夯实阶段(1-25天)、进阶提升阶段(26-55天)、综合实战阶段(56-80天)、面试冲刺阶段(81-90天)。

星空语_的博客 410

基于HarmonyOS API 24,React Native鸿蒙跨平台通过ScrollView的contentContainerStyle结合Flex布局,实现了空态内容在页面的垂直与水平居中

要想对 Pylint 进行微调,第一件要的事就是,使用-generate-rcfile 选项在项。pep8的输出比PyLint更简单,也更容易解析,所以如果你想要与一些连续集成解决方案(例。感兴趣的程序员来说,这是最佳选择,不需要任何额外的工具配置(像 Pylint 那样)。除了检查是否遵守某种任意的编码标准,Pylint 还可以给出有关整体代码质量的额外。是可调节的,所以如果你的团队使用一些与默认不同的命名和编码约定,你可以轻松配置。风格指南,介绍了一些命名建议,可以让你以后的代码更加明确;

2401_86113894的博客 357

Vue 完整版系统知识文档

《Vue全栈开发实战手册》摘要 本手册系统整合Vue2/Vue3全栈知识体系,涵盖基础语法、组件开发、状态管理、工程化等核心内容,适合从入门到精通的完整学习路径。主要特点: 基础核心 详解MVVM架构和响应式原理(Vue2的Object.defineProperty vs Vue3的Proxy) 完整模板语法规则与16种内置指令解析 组件系统核心:通信机制(8种方案)、插槽、动态组件、递归组件 进阶实战 状态管理:Vuex/Pinia完整解决方案 路由开发:动态路由、权限控制、懒加载 工程化:Webpack

专注 Java 后端开发,分享基础语法、JVM、并发、Spring 全家桶、微服务、分布式、性能优化等实战干货。坚持输出高质量技术笔记,用简单语言讲清复杂原理,助力每一位 Java 开发者稳步进阶。 343

ASP.NET产品管理系统源码从解压到部署全流程实战指南

在.NET开发领域,产品管理系统是典型的业务型Web应用,其源码结构往往涉及ASP.NET WebForms、三层架构、SQL Server数据库以及IIS部署等基础技术。理解这类系统的原理,不仅有助于快速上手老项目的二次开发,也能为向ASP.NET Core迁移提供参考。技术价值在于,通过完整阅读一套可运行的产品管理系统源码,开发者能够掌握从数据库表设计、数据访问层封装到页面事件绑定的完整请求链路。这套能力在毕业设计、企业内部工具选型以及传统系统维护中都有广泛的应用场景。然而实际拿到源码压缩包时,开发者常

weixin_34184158的博客 463

Sagacity博客解析:技术写作的认知脚手架与可验证知识体系

技术写作的本质不是信息传递,而是构建可复用的认知模型。从问题具象化、坍缩分析到延展推演,高质量技术内容需遵循‘现象→机制→验证→推演’的思维闭环。Sagacity博客通过三幕式结构、可执行代码验证、结构化元数据等工程化设计,显著降低工程师的认知摩擦成本,提升知识复用效率与长尾生命力。其核心价值在于将零散实践经验升维为可迁移的判断力训练方法论,适用于中阶开发者能力跃迁、技术团队认知资产沉淀及技术创作者范式升级。

didi9310的博客 478

用GPT-4提示工程驱动Plotly地理可视化

地理可视化本质是将空间意图转化为可执行代码的过程,其核心难点在于地理坐标系处理、行政区划匹配与视觉表达规范的三重耦合。Plotly Mapping作为Python生态中高交互性地图绘制的主流方案,依赖精准的GeoJSON绑定、CRS转换和Mapbox参数配置;而GPT-4 Prompting通过结构化提示(含角色、任务、数据规范与视觉约束),显著提升代码一次生成成功率——实测较通用提问提升近两倍。该技术路径已广泛应用于政务简报、金融区域分析与教学演示等场景,尤其适合需快速交付、多版本复用及中文地理语义理解的

weixin_30617695的博客 319
上一篇: 获取ubuntu 的root密码,告别sudo
下一篇: android代码混淆 GSON完满解决
五柳--先生
博客等级 码龄16年 106粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值