android页面模板(手机app页面模板)

admin 23 2022-12-03

本文目录一览:

Tangram系列(一)Android Tangram入门

Tangram基本理念是 粗颗粒度组件化+灵活布局容器 ,重点关注 高性能 (页面渲染效率组件回收复用,跨父节点组件的高效回收与复用); 面向业务 (组件业务化、动态化,通过布局+组件的形式搭建整个页面,而不是从基本的UI元素搭建页面); 多终端一致性 (一个json描述的布局可以同时在iOS端与Android端使用,且表现一致)。

整体页面由卡片组成,卡片由组件组成。在Tangram中 组件模型 是抽象出的最小的可复用单元,承载业务逻辑和UI展示,以尽可能小的业务单元为颗粒度,而 卡片模型 负责逻辑,粗颗粒化,不提供布局细节描述,只声明布局方式。

本篇会从Tangram布局框架VLayout(Android)、VirtualView初探两方面来进行初步的介绍。

针对需要在长列表下做各种形态来分配不同元素的电商页首页,传统的复用容器(ListView或RecyclerView)会出现复用性降低以及需要处理嵌套滑动的情况,所以VLayout提供了一个基于RecyclerView的自定义LayoutManger,可以实现不同布局格式混排。

RecyclerView 中正常只有一种布局,如果列表需要使用不同的布局,可以通过设置不同的ItemType,提供多种ViewHolder实现。而VLayout使用了不同的思路,其Adapter是串联自多个继承RecyclerView.Adapter的Adapter来管理视图的适配和数据,同时实现缓存。

VLayout中具体布局逻辑在 LayoutHelper 中实现,每个Adapter和LayoutHelper负责一个区域范围内的组件,不同范围内的组件之间如果类型相同,可以在滑动过程中回收复用。

LayoutHelper包含了它负责的组件的 位置 起始区域,它们会被传递给自定义的LayoutManager。当RecyclerView开始渲染页面或者滑动时,它内部维护了一个布局状态,获取当前屏幕范围内还有多少区域是空白的,下一个要加载的View的位置是多少,然后把这些信息告诉LayoutManager去加载View做布局。我们然后交给LayoutHelper去布局,不同的LayoutHelper会按照约定的协议进行进一的自定义LayoutManager拿到这个位置之后,就反向查找对应的LayoutHelper去布局。

VirtualView抽象封装了Canvas绘制视图流程,通过使用Canvas来实现UI控件的绘制,虚拟化就是实现依赖于宿主容器而没有实际View(不同于常见的Button、TextView)。通过XML引用绘制好的UI组件,从而创建出界面模板,客户端通过解析和加载XML界面模板最终渲染出界面。

不论是虚拟化组件还是原生组件,都要经过计算尺寸阶段、布局阶段、绘制阶段来定义,再加上相同的尺寸计算接口、布局接口、绘制接口,这样对于宿主容器来说,包装在内部的组件就不分虚拟化还是原生,一视同仁,暴露给外面的接口也是一样的,只要将宿主容器像普通的 View 一样添加到的视图界面上,就可以在后续的渲染过程中显示出来。如果虚拟组件使用的越多,View 的个数就越少,对于系统来说层级越扁平。以示例的组件来说,最终呈现的 View 只有宿主容器和两个图片组件,如果将图片也用虚拟化的方式实现,最终 View 只有一个宿主容器,而界面仍然保持不变。

优化问题

1.动态更新UI组件:实现了模板与数据分离,使用XML描述视图然后在

端上绑定动态下发的界面模板数据,最终渲染。

2.提高性能:通过使用Canvas绘制减少视图的层级和个数来提高布局加载

效率。

特点

1.渲染性能高:渲染出来的视图结构呈现扁平化;

2.组件热更新:通过配套XML模板更新sdk;

3.跨平台:一套XML模板,可以Android、iOS通用;

4.兼容性好:支持加载渲染原生基础组件;

5.使用方便:内置一系列基础组件可以直接使用。

在Tangram里使用VirtualView的时候,很多步骤已经内置到 Tangram 的初始化里了,外部只需要注册业务组件类型、加载模板数据、提供事件处理器。

基本布局描术文件是一个XML文件,并附带一个json数据文件,其中的相关数据来源都可以从数据json文件中使用表达式获取。一个XML就是一个组件,Tangram通过加载这个XML文件即可使用该XML文件所描述的组件,从而实现了动态新增组件类型的功能。

Android想做一个类似新闻展示页HTML页面,HTML应该用什么控件呈现

第三方模板很多 没必要自己弄

Html.fromHtml();中在HtmlImageGetter()中异步加载的问题我解决了,方法是先检查文件夹中是否存在图片,没有则加载默认图片,然后一个thread去下载图片,下载完成sendmessage,刷新TextView就可以了

Spanned sp = Html.fromHtml(html, new HtmlImageGetter(news_content,defaultDrawable),null);

news_content.setText(sp);

android怎么实现模板页呢?

大哥,你是不是在鸡蛋里挑骨头呀~

我上次看到android里面有很多脚本文件,以啥结尾的。忘记了。

苹果和安卓在界面设计上有什么区别?要注意什么

设计上来说这两个系统有些东西越来越通用了,目前很多Android的应用偏苹果风格,也就是说基本都是采用一套iOS设计模板来适配Android系统。

术语解读和系统平台对比

android是Google公司开发的操作系统。

iOS是苹果公司的移动操作系统。

导航方式不一样

iOS的Tab放在页面底部,不能通过滑动来切换,只能点击。也有放在上面的,也不能滑动,但有些Tab本身可以滑动,比如天猫的。还有新闻类的应用。

Android一般放在页面顶端,可以通过滑动页面来切换Tab,当然Tab可以点击切换,Tab多的话,Tab本身也可以滑动。比如豌豆荚,百度贴吧,QQ。总之,Android啥都可以有。

UI设计规范不一样

比如现在通常设计的尺寸对比如下:

iOS: 750*1334 或者 1242*2208

android:720*1280 或者 1080*1920

单条item的操作

iOS单条item的操作有两种,点击和滑动,点击一般进入一个新的页面,滑动会出现对这条item的一些常用操作,如微信里滑动一条对话,会出现标记未读和删除。

Android中,单条item的操作也有两种,点击和长按,点击一般进入一个新的页面。长按进入一个编辑模式,可以在里面进行批量和其他一个操作,比如删除,顶置等等。比如小米的短信页面;长按也可以弹出情境操作栏dialog,进行操作,比如Android版的微信。

例外的是,Android里面也可以有单条item的滑动,如新版QQ,这种比较少见。AndroidL的短信,可以滑动进行归档。大Android啥都可以有。

实体键

iOS只有一个实体键(音量,电源不算哈),home键,这个键有这么几个功能:

1、按一次,回到桌面。

2 、双击,出现多任务界面

3、iOS8里面,轻触两下Home键,调出单手模式

4 、指纹解锁

Android有四个实体键(现在很多被屏幕上的虚拟键代替,但功效是一样的)4.4一下的分别是back键,home键,menu键,和搜索键。4.4及以上,是back键,home键,多任务键。Android原生是这样,经过优化的Android就不一定了,比如魅族的smart bar,根据当前页面情景变化,不过蛮好用。

Android的back键,在大部分情况下,和页面上的返回功效一样。不过,Android的back键可以在应用件切换,还可以返回主屏幕。这个iOS里面的键不能在应用间直接切换。

浮窗设计元素不一样

Android里可以看到各种浮窗,流量,清理内存等等。iOS暂时还不支持这样的浮窗。越狱的貌似可以。

iOS和Android的UI区别七:图标尺寸和命名规范不一样

1、iOS和Android手机的APP图标尺寸规范和图标命名规范

2、对比PC、iOS、Android等终端APP的交互设计的差异化

Android的界面是如何适配多样化屏幕

在研究Android的icon设计之前,有必要先了解Android的界面是如何适配多样化屏幕的。

适配性

上一篇博文中提到,由于同一个UI元素(如100 x100像素的图片)在高精度的屏幕上要比低精度的屏幕上看起来要小,为了让这两个屏幕上的图片看起来效果差不多,可以采用以下两种方法:

程序将图片进行缩放,但是效果较差。

为这两个精度屏幕的手机各提供一个图片。

但是屏幕的参数多样化,为每一个精度的屏幕都设计一套icon,工作量大并且不能满足程序的兼容性要求,势必要对屏幕的分级,如在160dpi和180dpi的手机屏幕上采用同一套icon,当这套icon在240dpi效果满足不了设计要求,就需要另做一套稍大些的icon。

在Android 1.5以及更早的版本中,只支持3.2″ 屏幕上的HVGA (320×480)分辨率,开发人员也不需要考虑界面的适配性问题。从Android 1.6之后,平台支持多种尺寸和分辨率的设备,这也就意味着开发人员在设计时要考虑到屏幕的多样性。

为了简化设计并且兼容更多的手机屏幕,平台依照尺寸和分辨率对屏幕进行了区分:

三种尺寸:大,中,小。

三种精度:高(hdpi),中(mdpi)和低(ldpi)。

程序可以为这三种尺寸的屏幕提供默认资源,如有需要,还可以为各种精度的屏幕提供资源。在运行时,系统会根据屏幕布局加载正确尺寸或者精度的图片。

Android支持的屏幕

在运行时,程序为最佳显示效果提供了三种方法:

1.图片缩放

基于当前屏幕的精度,平台自动加载任何未经缩放的限定尺寸和精度的图片。如果图片不匹配,平台会加载默认资源并且在放大或者缩小之后可以满足当前界面的显示要求。例如,当前为高精度屏幕,平台会加载高精度资源(如图片),如果没有,平台会将中精度资源缩放至高精度。

2.自动定义像素尺寸和位置

如果程序不支持多种精度屏幕,平台会自动定义像素绝对位置和尺寸值等,这样就能保证元素能和精度160的屏幕上一样能显示出同样尺寸的效果。例如,要让WVGA高精度屏幕和传统的HVGA 屏幕一样显示同样尺寸的图片,当程序不支持时,系统会对程序慌称屏幕分辨率为320×533,在(10,10)到(100,100)的区域内绘制图形完成之后,系统会将图形放大到(15,15)到(150,150)的屏幕显示区域。

3.兼容更大尺寸的屏幕

当前屏幕超过程序所支持屏幕的上限时,定义supports-screens元素,这样超出显示的基准线时,平台在此显示黑色的背景图。例如,WVGA 中精度屏幕上,如程序不支持这样的大屏幕,系统会谎称是一个320×480的,多余的显示区域会被填充成黑色。

但为了达到最佳的显示效果,最好的方法还是设计多套图片。那就有必要对于所有的屏幕依据精度值进行分级(高中低),之后再设计三套icon:

先为主流的中精度屏幕(HVGA)设计一套icon,确定图片的像素尺寸。

为高精度屏幕将图片放大到150%,为低精度屏幕将图片缩小至75%。

将这三套资源放置到程序的三个文件夹下 :res/drawable-mdpi/ 、res/drawable-hdpi/、 res/drawable-ldpi/。程序在运行时,平台会根据屏幕的精度调取合适的icon。

设计指南

Android标准icon

Launcher Icon是程序主界面上的功能图标,Android对于各个icon的风格有一定的要求:

符合当下的流行趋势,避免过度使用隐喻。

高度简化和夸张,小尺寸图标也能易于识别,不宜太复杂。

尝试抓住程序的主要特征,比如音像作为音乐的icon。

使用自然的轮廓和形状,看起来几何化和有机化,不失真实感。

Icon采用前视角,几乎没有透视,光源在顶部。

不光滑但富有质感。

正确和错误的icon

另外,所有的icon都有文字标签,不要在设计时把文字也放到icon中。

Launcher Icon通常是一个较大的标准图标中包含一个小图标,使用一个中性色彩和一个主要色彩,并保持高度的对比,不宜过度饱和。

推荐色值

尺寸和定位

Launcher icons要有多样化的形状和样式,但又要形成统一的视觉风格,其尺寸和定位也用统一:

(Full Asset)红色边框为图标尺寸

(Icon)蓝色边框是图形尺寸,比图标尺寸稍小,图形之外的空间用于显示阴影和特殊效果。

(Square Icon)橙色边框是另外一种图形尺寸。两种类型的图形尺寸可以达到统一的视觉权重。

Icon dimensions for high-density (hdpi) screens:

Full Asset: 72 x 72 px

Icon: 60 x 60 px

Square Icon: 56 x 56 px

Icon Dimensions for medium-density (mdpi) screens:

Full Asset: 48 x 48 px

Icon: 40 x 40 px

Square Icon: 38 x 3

Icon Dimensions for low-density (ldpi) screens:

Full Asset: 36 x 36 px

Icon: 30 x 30 px

Square Icon: 28 x 28 px

模板

下载Android的标准图标模板,在此基础上绘制icon,后期还要加上阴影效果。

WVGA (高精度) 屏幕的阴影:

Effect: Drop Shadow

Color: #000000

Blend Mode: Multiply

Opacity: 75%

Angle: 90°

Distance: 2px

Spread: 0%

Size: 5px

另外,还有Menu icon 、Status bar icon 、Tab icon、 Dialog icon 和List view icon的设计教程请查看原文吧。

非常详尽的icon设计教程,一个程序里要放置三套icon,还有Android硬件比较好,不然内存爆掉了。

iPhone对于icon的设计建议:富有吸引力和可识别性。由于app软件可供全球的用户下载,所以在设计时,也要考虑到用户不同的文化背景。

程序icon的设计:

57×57像素,直角。

无发光效果。

无透明度。

将图片命名为Icon.png,放置在程序的资源包中,iPhone os会自动生成一个icon。

iPhone的icon设计就这么简单,iPhone的屏幕只有320×480像素,所以程序没有适配性问题。

参考文章:

《Icon Design Guidelines, Android 2.0》

《iPhone human interface guidelines》

本文由 站酷网 - zystoo 翻译,转载请保留此信息,多谢合作。

android页面模板的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于手机app页面模板、android页面模板的信息别忘了在易优之家进行查找喔。

上一篇:虚拟主机测速(光速虚拟主机)
下一篇:网站url优化(URL优化)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~