当前位置: 首页 > news >正文

安卓进阶——UI控件

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。
🍎个人主页:Meteors.的博客
💞当前专栏:知识分享
✨特色专栏:知识分享
🥭本文内容:安卓进阶——UI控件
📚 ** ps **  :阅读文章如果有问题或者疑惑,欢迎在评论区提问或指出。


目录

一. StatusBar

二. ViewPager

三. AppWidgetProvider

四. RemoteView

五. Chronometer

六. CalenderView

七. DataPicker、TimePicker

八. NumberPicker

九. TabHost

十. ViewSwitcher

十二. ViewFipper


一. StatusBar

就是安卓的 Status Bar(状态栏)​​ 是位于手机屏幕最顶部、显示时间、电量、网络信号、通知图标等系统状态信息的那个细长条。

状态栏通常显示两类信息:

  • ​系统图标(左侧):​​ 这些是固定显示的、与系统核心功能相关的图标。

    • ​时间:​​ 当前时间。

    • ​蜂窝网络信号:​​ 信号强度和运营商名称。

    • ​Wi-Fi 图标:​​ 显示是否连接到Wi-Fi及信号强度。

    • ​电池电量:​​ 当前电池百分比和充电状态。

    • ​蓝牙、闹钟、定位等:​​ 当相应功能激活时显示。

  • ​通知图标(右侧):​​ 这些来自应用程序,用于提示用户有新的消息或事件。

    • ​新消息:​​ 微信、短信等。

    • ​下载完成:​​ 文件下载或应用更新。

    • ​日历提醒:​​ 即将到来的会议或事件。

    • ​后台进程:​​ 例如音乐播放器的播放控制通知。

当有多个通知时,状态栏通常只会显示最关键的几个图标,用户可以从屏幕顶部向下​​滑动​​来展开​​通知栏(Notification Shade)​​,查看所有通知的详情并进行操作。


二. ViewPager

ViewPager是Android支持库中的一个布局控件,它允许用户通过左右滑动的手势在多个子视图(通常是Fragment)之间切换。它常用于实现以下功能:

  • 图片轮播/画廊

  • 应用引导页

  • 标签页切换(通常与TabLayout配合使用)

  • 任何需要水平滑动切换内容的场景


三. AppWidgetProvider

AppWidgetProvider是Android中用于创建和管理应用小部件(App Widget)的广播接收器基类。应用小部件是可以嵌入到主屏幕(Home Screen)上的微型应用程序视图,用户可以与之交互。(AppWidgetProvider需要在单独的项目中实现)

核心功能

  1. 定义小部件的外观和行为

  2. 响应小部件的更新、启用、禁用和删除事件

  3. 处理用户与小部件的交互


四. RemoteView

RemoteViews是Android中一种特殊的视图结构,它允许应用程序在其他进程(通常是系统主屏幕进程)中显示和更新界面。主要用于:

  • 应用小部件(App Widgets)

  • 通知栏自定义布局

  • 系统快捷设置面板

核心特性

  1. ​跨进程工作​​:可以在应用进程外显示和更新UI

  2. ​受限的UI元素​​:只支持部分View和属性

  3. ​轻量级​​:通过序列化机制在不同进程间传递


五. Chronometer

Chronometer是Android中的一个计时器控件,继承自TextView,专门用于显示和计算时间流逝。它提供了一种简单的方式来实现计时功能,适用于需要计时、倒计时或显示持续时间的场景。

        <Chronometerandroid:id="@+id/chronometer"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24sp"android:layout_marginBottom="8dp" />

核心特性

  1. ​基于系统时间​​:使用系统时钟作为计时基准

  2. ​格式灵活​​:可以自定义时间显示格式

  3. ​简单易用​​:提供开始、停止、重置等基本操作

  4. ​事件通知​​:可以监听计时完成等事件


六. CalenderView

CalendarView是Android提供的一个日期选择控件,它允许用户通过直观的月历界面选择日期。这个控件通常用于需要用户选择日期的场景,如预约系统、日历应用、日程管理等。

核心特性

  1. ​可视化月历展示​​:以月为单位显示日期网格

  2. ​日期选择功能​​:用户可点击选择特定日期

  3. ​日期范围限制​​:可设置可选日期的最小和最大范围

  4. ​外观定制​​:支持部分UI属性的自定义

  5. ​国际化支持​​:自动适应系统区域设置


七. DataPicker、TimePicker

DatePicker是Android中用于选择日期的控件,它允许用户通过年、月、日的滚动选择器来选择日期。

        <DatePickerandroid:id="@+id/datePicker"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="8dp"android:datePickerMode="spinner" />

TimePicker是Android中用于选择时间的控件,它允许用户通过小时和分钟的滚动选择器来选择时间。

        <TimePickerandroid:id="@+id/timePicker"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="16dp"android:timePickerMode="spinner" />


八. NumberPicker

NumberPicker是Android中的一个UI控件,允许用户通过滚动选择器从一组预定义的值中选择一个数字或字符串。它比Spinner更直观,比EditText更易于输入特定范围内的值。

        <LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:gravity="center"android:layout_marginBottom="16dp"><NumberPickerandroid:id="@+id/numberPicker1"android:layout_width="wrap_content"android:layout_height="wrap_content" /><NumberPickerandroid:id="@+id/numberPicker2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="16dp" /><NumberPickerandroid:id="@+id/numberPicker3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="16dp" /></LinearLayout>


九. TabHost

TabHost是Android早期用于实现标签页(Tab)布局的控件,它允许用户通过点击不同的标签来切换内容视图。虽然在现代Android开发中更推荐使用ViewPager结合TabLayout或ViewPager2来实现标签页功能,但了解TabHost仍然有助于维护旧代码或理解Android UI发展历程。(已废弃,使用TabLayout替代)


十. ViewSwitcher

ViewSwitcher是Android中的一个视图容器控件,它可以在两个子视图之间进行切换,并支持动画效果。它是ViewAnimator的子类,常用于实现简单的视图切换场景,如登录/注册界面切换、图片轮播等。

        <ViewSwitcherandroid:id="@+id/viewSwitcher"android:layout_width="match_parent"android:layout_height="50dp"android:layout_marginBottom="8dp"><TextViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:text="这是第一个视图"android:background="#FFCDD2" /><TextViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:text="这是第二个视图"android:background="#C8E6C9" /></ViewSwitcher>


十二. ViewFipper

ViewFlipper是Android中的一个视图容器控件,它可以在多个子视图之间进行切换,支持自动轮播和动画效果。它是ViewAnimator的子类,与ViewSwitcher类似,但可以管理多个子视图而不是仅限于两个。

        <ViewFlipperandroid:id="@+id/viewFlipper"android:layout_width="match_parent"android:layout_height="50dp"android:layout_marginBottom="8dp"android:flipInterval="2000"android:autoStart="true"><TextViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:text="第一张卡片"android:background="#BBDEFB" /><TextViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:text="第二张卡片"android:background="#F8BBD0" /><TextViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:text="第三张卡片"android:background="#C5E1A5" /></ViewFlipper>

http://www.dtcms.com/a/541466.html

相关文章:

  • Android 四大组件——Activity
  • 照片书哪个网站做的好哪家网站开发培训好
  • wordpress小说网站模板下载地址光辉网络 石家庄网站建设
  • 网站建设可信赖环球资源网的网站特色
  • 西安网站开发高端网站开发中企动力是干嘛的
  • 浅谈什么是微前端
  • AtCoder Beginner Contest 429(ABCDEF)
  • 好用的GEO优化引擎服务商
  • 做网站那个平台网站制作网站建设案例
  • 搜索引擎主题网站模板网络架构有哪几层
  • Linux 驱动开发中,主设备号和次设备号不同的两个驱动能否正常工作
  • 人和AI的分工模式!
  • 模板网站与 定制网站的 对比中企动力主要做什么的
  • ECharts 3D柱状图组件开发实战:Bar3D.vue 完整解析
  • 手机App上的轮播图是如何实现的—探究安卓轮播图
  • Day71 MQTT数据上传与ARM端交叉编译部署全链路实践
  • 2024年 5月 每日分享
  • 漯河英文网站建设创建私人网站
  • 网站开发学哪一个好电子商务网站建设模板
  • 5.4 大数据方法论与实践指南-存储-安全合规
  • 凡科建设网站图片怎么删除专门做自由行的网站
  • 车辆智能检索与缉查布控
  • Cesium中如何修改geojson数据的颜色
  • 51c大模型~合集42
  • C++语法—类的声明和定义
  • 企业网站建设方案资讯查询公司的网站
  • 高端企业网站建设公司免费网站代理访问
  • JavaEE初阶——多线程(4)线程安全
  • 杭州网站推广营销服务深圳做美颜相机的公司
  • 什么样 个人网站 备案适合做网站的软件有哪些