【疯了C#】神奇的换肤(二)】的更多相关文章

昨天参照了网上的资料练习了换肤,今天进一步的实现选择换肤 其实很简单,需要实现的功能如下点击combobox中的不同项目然后面板会自动的切换到相应的界面主题. 界面如下: 下述代码参照 “张隽永” 博客,http://realzjy.blog.51cto.com/818594/165556 public class ComboBoxItem { private string _text = null; private object _value = null; public string Tex…
之前看网上有换肤控件IrisSkin2的介绍,感觉很神奇,今天亲自做下试验,C#越来越有趣了,是Labview无法比拟的. 前期准备工作如下:下载后IrisSkin2.dll及匹配的皮肤. 其中ssk是IrisSkin2.dll对应的皮肤. 1>新建一个winform程序用于演示该实例. 问:你他妈的怎么不用WPF试试? 答:我操,我也想啊.这鸟东西就在NET2.0下用的顺畅点,3.5下不能用,至少我用不了.2.0你他妈的哪里搞WPF. 2>添加引用,将IrisSkin2.dll添加到引用 点…
原文:WPF换肤之二:可拉动的窗体 让我们接着上一章: WPF换肤之一:创建圆角窗体 来继续. 在这一章,我主要是实现对圆角窗体的拖动,改变大小功能. 拖动自绘窗体的步骤 首先,通过上节的设计,我们知道了如何设计一个圆角窗体,通过XAML代码量,我们发现设置这个窗体是多么的简单.但是如何让窗体能够进行Resize呢? 在Winform时代,我们通过WndProc(ref Message m)处理窗体界面消息来实现,那么在WPF中是否也是如此呢? 其实在WPF中,虽说封装比较紧密,但是对于处理界面…
前两天写的上章关于换肤的功能获得了很好的反响,今天为大家介绍另一种方式.今天实现的策略也是网友建议的,然后我自己去写了个demo,大家自己评估下相比第一种方式的优势和劣势在哪里. 简单介绍下关于第一种关于换肤实现的方法一些不友好的地方,比如点击了换肤的功能键,需要先下载一个资源apk,然后再去引用其中的资源ID,于用户使用起来确实有有很多不便之处.今天为大家介绍的方法是克服了这一弊端的,可以实现直接在应用内切换,把资源文件存储在本地apk的,读取和操作也是更加便捷的,下面介绍下大致的一个实现逻辑…
通过应用程序内置资源实现换肤,典型的应用为QQ空间中换肤的实现. 应用场景为: 应用一般不大,且页面较少,风格相对简单,一般只用实现部分资源或者只用实现背景的更换. 此种换肤方式实现的思路: 1. 把几套皮肤放在res/drawable目录里,然后用SharedPreferences来记录当前皮肤的资源id.然后在程序启动时加载Activity背景. 2. 主要的实现在皮肤管理器SkinManager类中. 将皮肤资源的ID加入集合中. 由该类同一调度皮肤更换,如初始化皮肤,获取当前皮肤符号以及…
在上一篇文章Android动态换肤(一.应用内置多套皮肤)中,我们了解到,动态换肤无非就是调用view的setBackgroundResource(R.drawable.id)等方法设置控件的背景或者文字等资源,跟踪源码看看这些方法都是怎么根据资源ID找到对应的资源的: View: @RemotableViewMethod public void setBackgroundResource(int resid) { if (resid != 0 && resid == mBackgroun…
一.背景 在越来越重视用户体验的今天,换肤功能也慢慢被重视起来.一个web系统用户可以选择一个自己喜欢的系统主题,在用户眼里还是会多少加点分的.我们很开心的是easyui v1.3.4有自带default gray black bootstrap metro五款皮肤,但是它并不像bootsrap提供了很完整的css框架,不能提供项目需要的所有的css,所以还需要自己编写控件之外的一些css.给系统换肤时,easyui控件都没问题,问题就在于自己编写的这部分css怎么实现换肤,当然,最简单的办法就…
一.根据美工提供的图片,可以有两种换肤的方案. <1>美工提供图片的类型一: <2>美工提供图片的类型二:这种分了文件夹文件名都一样的情况,拖入项目后最后用真实文件夹(蓝色文件夹).因为项目中的黄色文件夹都是虚拟不存在的,同名的文件只会保留一个 勾选第二个: 二.工具类的抽取 -- 以第二种图片的方案为前提,抽取的工具类 头文件的实现                                                                          …
一.换肤 1.思路1> 解决方案1,使用颜色作为图片素材的命名关键字 问题1:要保证每套图片的文件名 颜色+ 名称.png的格式比较麻烦 问题2:如果要将某一个图片应用到其他皮肤不方便2> 解决方案2,利用Bundle,将图片文件保存在不同的Bundle中 问题:平面设计师维护不方便3> 解决方案3,利用文件夹(蓝色),将图片文件保存在不同文件夹中 好处:便于平面设计师针对不同的文件夹维护图片素材扩展,将用户上次使用的皮肤保存在用户偏好中 2.可能遇到的问题 问题一:默认进来是没有皮肤颜…
一.前言 今天又到周末了,感觉时间过的很快呀.又要写blog了.那么今天就来看看应用的换肤原理解析.在之前的一篇博客中我说道了Android中的插件开发篇的基础:类加载器的相关知识.没看过的同学可以转战: http://blog.csdn.net/jiangwei0910410003/article/details/41384667 二.原理介绍 现在市场上有很多应用都有换肤的功能,就是能够提供给用户一些皮肤包,然后下载,替换.而且有些皮肤是要收费的.对于这个功能的话,其实没有什么技术难度的,但…
IrisSkin2.dll是一款很不错的免费皮肤控件,利用它可以轻松的实现WinForm窗体换肤 然而IrisSkin2.dll只能在.NET Faremwork 4.0以及之前的版本使用,所以要在VS2010中使用它需要将自己的项目框架设置为.NET Framework 4.0,还有另一种方法就是使用IrisSkin4.dll,他的使用方法和IrisSkin2.dll基本是完全一样的 一.首先在网上下载IrisSkin4.dll(已与皮肤一起打包),将IrisSkin4.dll与Skins(皮…
转载请说明原出处,谢谢~~ 今天在做单子是,客户要求做换肤功能,为此我专门写了一个换肤函数,并且把各种皮肤资源压缩为各个zip文件来换肤.但是客户反映程序运行缓慢,我测试后发现的确明显可以看出慢了不少.最后发现问题在于把皮肤资源都集成到了zip文件中,程序在刷新界面时会重新从zip文件中读取对应的资源,导致了界面反映卡顿.之前直接把z资源放到目录里或者把zip集成到程序内部,都是没问题的.但是如果要换肤就需要用到zip来压缩资源了. duilib的WinImplBase类为我们提供了4种加载资源…
IrisSkin2.dll是一款很不错的免费皮肤控件,利用它可以轻松的实现winForm窗体换肤 然而IrisSkin2.dll只能在.NET Faremwork 4.0以及之前的版本使用,所以要在VS2010中使用它需要将自己的项目框架设置为.NET Framework 4.0,还有另一种方法就是使用IrisSkin4.dll,他的使用方法和IrisSkin2.dll基本是完全一样的   一.首先在网上下载IrisSkin4.dll(已与皮肤一起打包),将IrisSkin4.dll与Skins…
一.概述 由于Android 没有提供一套统一的换肤机制,我猜可能是因为国外更注重功能和体验的原因 所以国内如果要做一个漂亮的换肤方案,需要自己去实现. 目前换肤的方法大概有三种方案: (1)把皮肤资源文件内置于应用程序Apk的资源目录下,这种方案最简单,但是导致apk安装包比会比比较大,而且不好管理 (2)将皮肤资源文件打包成zip的资源文件方式提供,该方法也比较多被采用. (3)将皮肤图片资源以独立的Apk安装包的方式提供,做成插件化的方式.便于管理. 本文主要讨论第三种实现. 二.效果演示…
原文:WPF换肤之七:异步 在WinForm时代,相信大家都遇到过这种情形,如果在程序设计过程中遇到了耗时的操作,不使用异步会导致程序假死.当然,在WPF中,这种情况也是存在的,所以我们就需要寻找一种解决方法来让程序界面响应和耗时操作异步进行,那么上述假死的情况就不会发生了. 这一节就着重讲解异步以及线程和界面交互. 异步使用方式(APM模式) 在上节中,我们给一个普通的Window窗口做了换肤处理,呈现出了一个非常酷的时区浏览小工具.当然,这一节,我们还是以那个工具为主,为其增加天气预报功能,…
原文:WPF换肤之四:界面设计和代码设计分离 说起WPF来,除了总所周知的图形处理核心的变化外,和Winform比起来,还有一个巨大的变革,那就是真正意义上做到了界面设计和代码设计的分离.这样可以让美工和程序分开进行,而不是糅合在一块,这样做的好处当然也是显而易见的:提高了开发效率. 原先的设计方式 在我们之前设计的代码中,每当添加一个新的窗体的时候,我总是会在这个新的窗体的XAML文件中加入如下的代码,以便使样式能够应用上去: <Window x:Class="WpfApplicatio…
换肤,顾名思义,就是对应用中的视觉元素进行更新,呈现新的显示效果.一般来说,换肤的时候只是更新UI上使用的资源,如颜色,图片,字体等等.本文介绍一种笔者自己使用的基于布局的Android换肤方案,不仅可以更换所有的UI资源,而且可以更换主题样式(style)和布局样式.代码已托管到github:SkinFramework 换肤当然得有相应的皮肤包,不管是内置在应用内,还是做成可安装的皮肤应用包.但是这两种都有弊端: 1.内置在应用内会增加应用包的体积. 2.皮肤安装包需要安装过程,会占用更多的设…
一,js换肤的基本原理 基本原理很简单,就是使用 JS 切换对应的 CSS 样式表文件.例如导航网站 Hao123 的右上方就有网页换肤功能.除了切换 CSS 样式表文件之外,通常的网页换肤还需要通过 Cookie 来记录用户之前更换过的皮肤,这样下次用户访问的时候,就可以自动使用上次用户配置的选项. 那么基本工作流程就出来了:访问网页--JS 读取 Cookie --如果没有,使用默认皮肤--如果有,使用指定皮肤:用户点击换肤选项--JS 控制替换对应的 CSS 样式表--将皮肤选项写进 Co…
纵观现在各种Android app,其换肤需求可以归为 白天/黑夜主题切换(或者别的名字,通常2套),如同花顺/自选股/天天动听等,UI表现为一个switcher. 多种主题切换,通常为会员特权,如QQ/QQ空间. 对于第一种来说,目测应该是直接通过本地theme来做的,即所有图片/颜色的资源都在apk里面打包了. 而对于第二种,则相对复杂一些,由于作为一种线上服务,可能上架新皮肤,且那么多皮肤包放在apk里面实在太占体积了,所以皮肤资源会在选择后再进行下载,也就不能直接使用android的那套…
Android插件化的思考--仿QQ一键换肤,思考比实现更重要! 今天群友希望写一个关于插件的Blog,思来想去,插件也不是很懂,只是用大致的思路看看能不能模拟一个,思路还是比较重要的,如果你有兴趣的话,也可以加群:555974449,你也可以说出你想看的Blog哦,嘿嘿!好的,不多说,我们进入正题: 关于QQ的换肤,他们的实现思路我不是很清楚,但是你可以看一下这张换肤的截图 我们想使用哪个主题就直接下载就好了,这一实现的过程我们大致的可以猜想: 首选是下载到本地指定文件夹,然后通过插件加载到我…
一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) JavaScript历史背景介绍 布兰登 • 艾奇(Brendan Eich,1961年-),1995年在网景公司,发明的JavaScript. 一开始JavaScript叫做LiveScript,但是由于当时Java这个语言特别火,所以为了傍大牌,就改名为JavaScript.如同“北大”和“北大青鸟”…
一.问题的提出 不知道大家有没有发现, 元旦期间, 很多APP界面里的图标都换成了具有节日气氛的样式, 而在过了元旦节之后, 这些图标又悄无声息的变回了本来的面貌. 这些具有短暂生命周期.而又必须在固定时间节点上展示的节日皮肤, 究竟是如何实现的呢? 显然, 通过发布新版本可以实现, 但是对于iOS端的应用来说, 面对苹果APP Store不确定的审核时间, 开发人员往往需要提前1~2周完成并提交审核, 而且每到一个节日都要重新发布一个新版本, 难免略显被动. 热更新是一个不错的选择! 试想一下…
转载请说明原出处,谢谢~~ 今天在做单子是.客户要求做换肤功能,为此我专门写了一个换肤函数,而且把各种皮肤资源压缩为各个zip文件来换肤.可是客户反映程序执行缓慢,我測试后发现的确明显能够看出慢了不少.最后发现问题在于把皮肤资源都集成到了zip文件里,程序在刷新界面时会又一次从zip文件里读取相应的资源,导致了界面反映卡顿. 之前直接把z资源放到文件夹里或者把zip集成到程序内部,都是没问题的. 可是假设要换肤就须要用到zip来压缩资源了. duilib的WinImplBase类为我们提供了4种…
概述 iOS 开发中有时候会有夜间模式(换肤设置)的需求, 主要是更改相关颜色操作每次切换夜间/白天模式时,都会发出通知给所有ViewController,让它们切换到相应的主题. 详细 代码下载:http://www.demodashi.com/demo/10668.html 一.实现功能及主要思路 实现功能: iOS 开发中有时候会有夜间模式(换肤设置)的需求, 其实主要是更改相关颜色操作.每次切换夜间/白天模式时,都会发出通知给所有ViewController,让它们切换到相应的主题. 主…
上周有个朋友给建议说讲讲换肤吧,真巧这周公司的工作安排也有这个需求,换的地方之多之繁,让人伤神死了.正所谓磨刀不误砍柴工,先磨下刀,抽出一个工具类,写了个关于换肤的简单demo. Android中换肤的实现有几种方法,我使用的是读取共享进程空间另一apk中的资源的方法.大致的原理如下,让你的app和一个只有资源文件的app运行在同一进程中,这样你的app就可以访问另一app的资源了.原理很简单,下面我们分步骤讲解实现过程. 一.共享进程运行的空间 通过在两个工程下的manifest根节点添加相同…
jquery.cookie.js的插件,插件的源代码如下: /** * Cookie plugin * * Copyright (c) 2006 Klaus Hartl (stilbuero.de) * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * */ /** *…
Android 切换主题以及换肤的实现 一.介绍 现在市面上有很多 APP 有切换主题和皮肤的功能!特别是阅读类的 APP! 上面两张图分别是 知乎 APP 和Fuubo APP的两张截图!都带有切换主题的功能!!无疑,增加了这个功能可以是我们的 APP 有更好的用户体验!更风骚的展现方式!!好了,下面我就以我现在正在做的开源的 博客园 APP 为例,先为大家讲解一下切换主题的功能!! 下面先来看张效果图: 二.思路以及实现 2.1 主题的切换以及实现 首先我们先来明确个概念,现在我所说的切换主…
一.需求说明 当一个APP用户量大的时候,就需要给不同的用户做标签,用来彰显身份.比如QQ的会员,VIP等不同的皮肤功能. 二.实现方法. 所谓不同的皮肤,就是不同的权限(身份)显示不同的本地或者网络图片.为了给图片做区别.就需要不同的命名方式. 比如普通身份(status_normal),vip身份(status_vip). 也就是说在基础的图片名后面加上身份标记. 需要写一个UIImage的Category. 需要处理的是:将系统的imageNamed方法替换成自己的方法MC_imageNa…
今天经前辈提醒才知道winform窗体还有美化工具,呵呵,不得不说,孤陋寡闻了.下面总结一下irisskin2的使用步骤和遇到的问题及解决办法. 1.网址:http://www.pc6.com/softview/SoftView_70918.html#download 皮肤控件换肤素材包,IrisSkin2.dll皮肤素材资源下载,这是一款与编程开发相关的素材资源,主要是提供一些采用IrisSkin2.dll控件进行软件窗口换肤的素材文件,包括一些GIF图像资源.一些ssk文件,压缩包内一共有2…
ASP.NET mvc的razor视图引擎是一个非常好的.NET MVC框架内置的视图引擎.一般情况我们使用.NET MVC框架为我们提供的这个Razor视图引擎就足够了.但是有时我们想在我们的项目支持多模板&skins机制,比如我们可能会有多套的模板,也就是多个View风格,而我们只需要改一下配置文件就可以轻松的改变页面的风格和模板.实现这个功能有两种方式: 一.使用接口IViewEngine自己完成一个类似Razor视图引擎的功能. 二.继承类RazorViewEngine类,重写它的一些方…