• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】

教程 ModernUI - Widget Fragment Layout Menu

[MD] 这是一篇 ModernUI 的新手向小知识。 旨在分清这四个容易混淆的概念:Widget、Fragment、Layout、Menu ### Widget 中文名:组件 包:[icyllis.modernui.widget](https://blocamlimb.github.io/ModernUI/javadoc/icyllis/modernui/widget/package-summary.html) Widget 是最基础的组件(按钮、文本框、图片、输入框等) 常用类: - [TextView](https://blocamlimb.github.io/ModernUI/javadoc/icyllis/modernui/widget/TextView.html "class in icyllis.modernui.widget"):用来显示文本 - [Button](https://blocamlimb.github.io/ModernUI/javadoc/icyllis/modernui/widget/Button.html "class in icyllis.modernui.widget"):一个按钮 ### Fragment 中文名:模块化界面 包:[icyllis.modernui.fragment.Fragment](https://blocamlimb.github.io/ModernUI/javadoc/icyllis/modernui/fragment/package-summary.html) 类:[Fragment](https://blocamlimb.github.io/ModernUI/javadoc/icyllis/modernui/fragment/Fragment.html) Fragment 表示应用界面中可重复使用的一部分。Fragment 定义和管理自己的布局,具有自己的生命周期,并且可以处理自己的输入事件。 ### Layout 中文名:布局组件 包:[icyllis.modernui.widget](https://blocamlimb.github.io/ModernUI/javadoc/icyllis/modernui/widget/package-summary.html) 布局定义了应用中的界面结构。 | 类名 | 名称 | 功能 | | :---------------: | :----------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------: | | AbsoluteLayout | [绝对布局](https://blocamlimb.github.io/ModernUI/javadoc/icyllis/modernui/widget/AbsoluteLayout.html) | 指定其子项的确切位置(x/y 坐标) | | CoordinatorLayout | [协调员布局](https://blocamlimb.github.io/ModernUI/javadoc/icyllis/modernui/widget/CoordinatorLayout.html) | 强大的布局(适合做父布局) | | FrameLayout | [框架布局](https://blocamlimb.github.io/ModernUI/javadoc/icyllis/modernui/widget/FrameLayout.html "class in icyllis.modernui.widget") | FrameLayout 旨在遮挡屏幕上的某个区域以显示单个项目 | | GridLayout | [网格布局](https://blocamlimb.github.io/ModernUI/javadoc/icyllis/modernui/widget/GridLayout.html "class in icyllis.modernui.widget") | 将其子项放置在矩形网格中的布局 | | LinearLayout | [线性布局](https://blocamlimb.github.io/ModernUI/javadoc/icyllis/modernui/widget/LinearLayout.html "class in icyllis.modernui.widget") | 用户可以滚动的视图层次结构的布局容器,允许它大于屏幕 | | RelativeLayout | [相对布局](https://blocamlimb.github.io/ModernUI/javadoc/icyllis/modernui/widget/RelativeLayout.html "class in icyllis.modernui.widget") | 可以描述子级的位置,可以相对于彼此或相对于父级进行描述 | | TabLayout | [选项卡布局](https://blocamlimb.github.io/ModernUI/javadoc/icyllis/modernui/widget/TabLayout.html "class in icyllis.modernui.widget") | 提供水平布局来显示选项卡 | | TableLayout | [表格布局](https://blocamlimb.github.io/ModernUI/javadoc/icyllis/modernui/widget/TableLayout.html "class in icyllis.modernui.widget") | 将其子项排列为行和列的布局 | ### Menu 中文名:菜单 包:[icyllis.modernui.view.menu](https://blocamlimb.github.io/ModernUI/javadoc/icyllis/modernui/view/menu/package-summary.html) Menu 是一个标准的界面操作面板。 #### Menu 和 Layout有什么区别?Layout 不是也能做菜单吗?我该选择谁? 最核心的区别:Menu 是一种**规范**,Layout 是一种**实现**。 大多数应用都拥有一些通用的操作按钮(例如关闭窗口、分享、收藏/喜欢、设置),如果每次都自己用 Widget 乃至 Layout 来重新造一遍轮子,就过于麻烦了。 所以 Menu 就出现了。直接使用 Menu,可以简单地、高效地编写用户界面。 Layout 是一种**界面布局**,可以实现**高度定制化**、**优美的动画**、**复杂交互**等功能。 ### 安卓开发? 如果你具有安卓开发的经验,就会发现,有种莫名的熟悉感。 [安卓开发 - Menu](https://developer.android.google.cn/develop/ui/views/components/menus?hl=zh-cn) [安卓开发 - Widget](https://developer.android.google.cn/design/ui/mobile/guides/widgets?hl=zh-cn) [安卓开发 - Layout](https://developer.android.google.cn/design/ui/mobile/guides/layout-and-content/layout-basics?hl=zh-cn) [安卓开发 - Fragment](https://developer.android.google.cn/guide/fragments?hl=zh-cn) 嗯确实。很多安卓教程对于 ModernUI 开发者来说是可以参考的。但是安卓开发和 ModernUI 总归是有区别的:对于一些安卓开发组件,ModernUI 并没有实现,比如 **Activity** [/MD]
 

在线会员

  • _xoO_Oox_
  • jinzhao
  • Happyday
  • 苍空和龙
  • MC_z2
  • HuaYe
  • Liying_79
  • ovouo
  • xiaoziyi
  • seven77
  • 别失眠
  • FuLe1314
  • 秩序114
  • Kurt
  • 黑魔法师恩佐
  • ccggx
  • Bule233
  • 2904435839
  • wyc1
  • blackDDC
...和 8 更多。
后退
顶部 底部