热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

一些不错的UI设计步骤与原则

我们在设计UI时,通常是有一些步骤与原则,下面给大家列出了一些常用的,可能也不是很准确,希望抛砖引玉,让大家对UI设计有一个思路,这里一定要有一个意识,在拿到一个UI设计图的时候,不要马上就

  我们在设计UI时,通常是有一些步骤与原则,下面给大家列出了一些常用的,可能也不是很准确,希望抛砖引玉,让大家对UI设计有一个思路,这里一定要有一个意识,在拿到一个UI设计图的时候,不要马上就想到要怎么怎么实现,而是需要细心分析与设计ui设置属性

  1、明确划分与UI相关的相关性

  根据UI的设计图,我们首先要把和UI相关的部分抽出来ui设置属性。比如一个界面可能需要分几部分组成,每一部分大概怎么设计等。

  2、划分屏幕大小ui设置属性,明确出跳转关系

  要考虑到你的APP所对应的屏幕大小及DPI,不同的屏幕与DPI,你有可能会存在不同的UI布局,最典型的是在3.0以上的SDK版本,可能引入了Fragement元素,手机屏幕与平板的屏幕的UI设计,完全是两种不同的风格ui设置属性

一些不错的UI设计步骤与原则

  还有,尽可能地明确出跳转关系,这可以用一些小卡片的形式来标记,一个卡版表示一个画面,把不同画面之间的迁移关系明确出来ui设置属性。同时,还要把这些画面之前的相同点与不同点找出来,因为这会影响到是否决定提取共通画面。

  3、列出需要用到的UI元素

  把界面上展现的UI元素列出来,像常用的简单的button, imagebutton,一看就知道ui设置属性。然而有些UI,可能会涉及到一些自定义的View,这里一定要多考虑。

  另外,有可能为了统一控制,也有可能扩展一个Button,派生类里面可能只是改变一个字体大小等,这种做法通常是用于多数UI的字体大小相同,可以抽象出来个共通的Button,这样在各个UI里面,就可以不用都来设置这个字体大小ui设置属性

  还有,也可以抽出共通的style,比如textview的style,文本颜色,字体大小,是否加粗等ui设置属性

  4、列出哪些UI元素可以用SDK的ui设置属性,哪些则是需要自定义

  据我的经验,通常一个项目里面都会有自定义的组件(View),多数是组合控件--把不同的Widget组合成一个Layoutui设置属性。这还要需要根据项目自身的需求来定。

  注意:这里一定要有一个良好的设计,以应地需求变更ui设置属性。比如第一版需求,可能不需要一些组合View,直接使用SDK自身的Widget就能完成,但经过一些变动之后,发展之前的UI设计不合时宜,可能需要提供自定义的View,那么原来用到SDK自身的Widget的地方可能需要改动。这种改动说大也大,说小也小,在设计的时候,要多考虑一下这种需求变更。

  5、完成UI界面的绘制

  通常情况下,不会涉及到自绘制,因为自绘制比较麻烦,而且费时间ui设置属性。但是特殊情况下,自绘制能提高效率,因为你用View布局,会涉及到layout, measure, touch event, dispatch draw等方面,这些会影响性能。

  6、进行内部逻辑和UI界面的整合

  通常一个View里面,都会有一些逻辑,特别是自定义的View,可能会封装一些特定的属性ui设置属性。在使用这些View的时候,UI的activity会与这些View有一个逻辑的整合。

  QQ群:455780480

  北京校区地址:北京中关村中科大厦5层(环境一流ui设置属性,设施齐全)

一些不错的UI设计步骤与原则

  咨询电话:4000-100-444


推荐阅读
  • 深入解析 Android 中 EditText 的 getLayoutParams 方法及其代码应用实例 ... [详细]
  • 开发笔记:深入解析Android自定义控件——Button的72种变形技巧
    开发笔记:深入解析Android自定义控件——Button的72种变形技巧 ... [详细]
  • Android 图像色彩处理技术详解
    本文详细探讨了 Android 平台上的图像色彩处理技术,重点介绍了如何通过模仿美图秀秀的交互方式,利用 SeekBar 实现对图片颜色的精细调整。文章展示了具体的布局设计和代码实现,帮助开发者更好地理解和应用图像处理技术。 ... [详细]
  • APKAnalyzer(1):命令行操作体验与功能解析
    在对apkChecker进行深入研究后,自然而然地关注到了Android Studio中的APK分析功能。将APK文件导入IDE中,系统会自动解析并展示其中各类文件的详细信息。官方文档提供了详细的命令行工具使用指南,帮助开发者快速上手。本文以一个RecyclerView的Adapter代理开源库为例,探讨了如何利用这些工具进行高效的APK分析。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • 掌握Android UI设计:利用ZoomControls实现图片缩放功能
    本文介绍了如何在Android应用中通过使用ZoomControls组件来实现图片的缩放功能。ZoomControls提供了一种简单且直观的方式,让用户可以通过点击放大和缩小按钮来调整图片的显示大小。文章详细讲解了ZoomControls的基本用法、布局设置以及与ImageView的结合使用方法,适合初学者快速掌握Android UI设计中的这一重要功能。 ... [详细]
  • 技术分享:深入解析GestureDetector手势识别机制
    技术分享:深入解析GestureDetector手势识别机制 ... [详细]
  • 在探讨C语言编程文本编辑器的最佳选择与专业推荐时,本文将引导读者构建一个基础的文本编辑器程序。该程序不仅能够打开并显示文本文件的内容及其路径,还集成了菜单和工具栏功能,为用户提供更加便捷的操作体验。通过本案例的学习,读者可以深入了解文本编辑器的核心实现机制。 ... [详细]
  • 本文深入探讨了 Android DrawingView 的优化技巧与实现方法,重点介绍了如何实现平滑绘制效果。通过支持常见的绘图工具和形状,以及图层变换功能,提升了用户体验。文章详细解析了绘制过程中的性能优化策略,包括减少重绘次数、使用硬件加速和优化内存管理等技术,为开发者提供了实用的参考。 ... [详细]
  • 本文介绍了Android动画的基本概念及其主要类型。Android动画主要包括三种形式:视图动画(也称为补间动画或Tween动画),主要通过改变视图的属性来实现动态效果;帧动画,通过顺序播放一系列预定义的图像来模拟动画效果;以及属性动画,通过对对象的属性进行平滑过渡来创建更加复杂的动画效果。每种类型的动画都有其独特的应用场景和实现方式,开发者可以根据具体需求选择合适的动画类型。 ... [详细]
  • 本文探讨了在Android应用中实现动态滚动文本显示控件的优化方法。通过详细分析焦点管理机制,特别是通过设置返回值为`true`来确保焦点不会被其他控件抢占,从而提升滚动文本的流畅性和用户体验。具体实现中,对`MarqueeText.java`进行了代码层面的优化,增强了控件的稳定性和兼容性。 ... [详细]
  • 为了优化直播应用底部聊天框的弹出机制,确保在不同设备上的布局稳定性和兼容性,特别是在配备虚拟按键的设备上,我们对用户交互流程进行了调整。首次打开应用时,需先点击首个输入框以准确获取键盘高度,避免直接点击第二个输入框导致的整体布局挤压问题。此优化通过调整 `activity_main.xml` 布局文件实现,确保了更好的用户体验和界面适配。 ... [详细]
  • PyQt5 QTextEdit:深入解析Python中多功能GUI库的应用与实现
    本文详细探讨了 PyQt5 中 QTextEdit 组件在 Python 多功能 GUI 库中的应用与实现。PyQt5 是 Qt 框架的 Python 绑定,提供了超过 620 个类和 6000 个函数及方法,广泛应用于跨平台应用程序开发。QTextEdit 作为其中的重要组件,支持丰富的文本编辑功能,如富文本格式、文本高亮和自定义样式等。PyQt5 的流行性不仅在于其强大的功能,还在于其易用性和灵活性,使其成为开发复杂用户界面的理想选择。 ... [详细]
  • 这篇文章将揭示 Vue 和 React 组件库中五个鲜为人知的强大工具。这些工具均以纯 JavaScript 实现,功能卓越。其中,async-validator 是一个数据验证插件,不仅预置了 URL 和电子邮件的验证规则,还支持异步验证功能。 ... [详细]
author-avatar
_妃妃教主
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有