首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏振兴的Android修炼手册

    Android换肤原理和Android-Skin-Loader框架解析

    在看了一些换肤的方法之后,并且对市面上比较认可的Android-Skin-Loader换肤框架的源码进行了分析总结。再次记录一下祭奠自己逝去的时间。 GitHub上面有一个start非常高的换肤框架Android-Skin-Loader 就是通过加载资源包对app进行换肤。对这个框架的分析这个也是这篇文章主要的讲述内容。 /** * apk路径 */ String apkPath = Environment.getExternalStorageDirectory()+"/skin.apk"; AssetManager Drawable drawable = resources.getDrawable(resources.getIdentifier("night_icon", "drawable","com.tzx.skin Android-Skin-Loader解析 初始化 初始化换肤框架,导入需要换肤的资源包(当前为一个apk文件,其中只有资源文件)。

    5.9K20发布于 2020-05-29
  • 来自专栏拂晓风起

    Flex透明窗体做法 spark的Window加Skin

    简单记录一下:(只针对new window的做法,我自己用到这个透明窗体用途比较特殊) 1、继承Window,设置透明,并加入skin的设置             this.type = NativeWindowType.UTILITY             this.systemChrome = NativeWindowSystemChrome.NONE;             this.transparent = true; 2、在skin

    73420发布于 2018-07-03
  • 来自专栏github@hornhuang

    android-主题引擎-实现换肤功能-Android-skin-support「 ximsfei 」

    突发奇想,给 app 加个换肤功能 三方库地址--https://github.com/ximsfei/Android-skin-support#应用内换肤 ---- Demo 地址: 点击右边 ? :( 欢迎 star ) ---- 使用过程中踩坑无数,这里一一解释下 首先添加依赖 implementation 'skin.support:skin-support:3.1.1' // skin-support 基础控件支持 implementation 'skin.support:skin-support-design:3.1.1' // skin-support-design material design 控件支持[可选] implementation 'skin.support:skin-support-cardview:3.1.1' // skin-support-cardview CardView 控件支持[可选] implementation 'skin.support:skin-support-constraint-layout:3.1.1' // skin-support-constraint-layout

    1.6K30发布于 2021-09-24
  • 来自专栏BestSDK

    Xenoma推出手势追踪衬衫E-Skin,同时开放“皮肤”SDK

    下个月,Xenoma将推出一项Kickstarter众筹活动,旨在为e-Skin衬衫进行众筹。 Xenoma的e-Skin衬衫采用可伸缩的传感器和电子设备,可以检测用户的运动,同时提供普通衬衫的耐用性和机洗性,无需外部相机或其他传感器。 E-skin dk Xenoma联合创始人兼首席执行官Ichiro Amimori在一份声明中说:“e-Skin服装将是人们未来与他人及其智能设备进行互动的最自然的方式。 e-Skin衬衫的Kickstarter众筹将于2017年8月1日启动,期望筹集到50,000美元。 这将是一个消费前版本,为终端用户和个人开发人员提供与Xenoma的e-skin开发人员套件相同的功能,但只需更低的成本。对于前100名支持者,只需支付479美元就能得到e-Skin衬衫。

    84850发布于 2018-03-01
  • 来自专栏Java架构师必看

    unity3d Human skin real time rendering 真实模拟人皮实时渲染「建议收藏」

    今天说一说unity3d Human skin real time rendering 真实模拟人皮实时渲染「建议收藏」,希望能够帮助大家进步!!! 先放出结果图片。。。

    1.3K20编辑于 2022-02-15
  • 来自专栏python学习教程

    利用Python完成对王者荣耀英雄全皮肤的下载

    cname_skin_name = {} for hero in hero_json: cname_skin_name[hero['cname']] = hero['skin_name (item[1].split('|')) return cname_skin_count def get_skin_name_url(skin_base_rul,cname_skin_count return cname_url_list #print() d = get_skin_name_url(hero_skin_root_url,get_hero_skin_count(get_skin_name get_skin_name(hero_list_json) cname_skin_name_list = get_cname_skin_name(cname_skin_name_str_list ) cnam_skin_url_list = get_skin_name_url(hero_skin_root_url,cname_skin_count,cname_ename) get_hero_skin

    82220发布于 2019-09-06
  • 来自专栏练习bug时长两年半

    用Python爬取王者荣耀英雄皮肤海报图

    + ".jpg" #这是图片url的格式 3,构建皮肤数量循环(使用for循环) for skin_num in range(1, len(skin_name) + 1): skin_url ename) + '-bigskin-' + str(skin_num) + '.jpg' 4,请求图片数据 skin_data = requests.get(skin_url).content 第四步 ('正在下载皮肤:', cname + "-" + skin_name[skin_num - 1]) f.write(skin_data) 到这里就差不多结束了 完整代码 下面是一个完整代码 (1, len(skin_name) + 1): skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info = requests.get(skin_url).content with open('img\\' + cname + "-" + skin_name[skin_num - 1] +

    95120编辑于 2022-08-24
  • 来自专栏各类技术文章~

    Android实战:APP换肤功能,并自动适配手机深色模式

    ">#212121</color> </resources> style 是支持继承的, 以上述为例,app_skin_1 继承自 AppTheme, 在通过 attr 寻找其值时,如果在 app_skin 因此我们可以把 App 的 theme 作为我们的一个 skin, 其它 skin 都继承自这个 skin。 (SKIN_2, R.style.app_skin_2); boolean isDarkMode = (context.getResources().getConfiguration( = SKIN_2) { skinManager.changeSkin(SKIN_2); } else if (! isDarkMode && storeSkinIndex == SKIN_1) { skinManager.changeSkin(SKIN_1); }else{

    1.8K00编辑于 2021-12-06
  • 来自专栏jeremy的技术点滴

    Video.js简单使用

    */.vjs-default-skin{color:#ccc}@font-face{font-weight:400;font-style:normal}.vjs-default-skin .vjs-slider {float:left}.vjs-default-skin .vjs-duration{float:left}.vjs-default-skin .vjs-remaining-time{display: none;float:left}.vjs-default-skin .vjs-time-controls,.vjs-default-skin .vjs-duration,.vjs-default-skin }.vjs-default-skin.vjs-using-native-controls .vjs-big-play-button{display:none}.vjs-default-skin:hover ,.vjs-default-skin .vjs-menu-button ul li:hover,.vjs-default-skin .vjs-menu-button ul li.vjs-selected

    17.9K90发布于 2018-05-09
  • 来自专栏Python爬虫实战

    Python爬虫:十几行代码下载王者荣耀所有皮肤

    测试代码(接代码片段1)如下: # 代码片段2 hero_name = hero_json[0]['cname'] skin_names = hero_json[0]['skin_name' ].split('|') skin_num = len(skin_names) print('hero_name: ', hero_name) print('skin_names :', skin_names) print('skin_num: ' + str(skin_num)) 运行结果如下: ? skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/'+str(hero_json[i]['ename'])+ ' = hero_json[i]['skin_name'].split('|') for cnt in range(len(skin_names)): save_file_name

    1.3K20发布于 2018-08-09
  • 来自专栏Python爬虫与数据分析

    Python爬虫获取王者荣耀皮肤高清图

    ') skin_num = len(skin_names) print('hero_name : ', hero_name) print('skin_name: ', skin_names) print ('skin_num', skin_num) ---- 运行代码: ? ('skin_name: ', skin_names) print('skin_num', skin_num) # 文件不存在则创建 save_dir = 'F:\heroskin' if not os.path.exists [i]['skin_name'].split('|') if hero_json[i]['ename'] == 189: json_skin_name = {'skin_name ': '阿摩司公爵|万物有灵'} skin_names = json_skin_name['skin_name'].split('|') for cnt in range

    1.3K10发布于 2019-07-30
  • 来自专栏算法工程师的学习日志

    12.奇怪知识(1) --Matlab爬虫获取王者荣耀英雄皮肤

    = strsplit(jsonData{i,1}.skin_name, '|'); hero_skin_number{i} = length(skin_name); catch onehero_link = strcat('http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' ... = strsplit(jsonData{i,1}.skin_name, '|'); hero_skin_number{i} = length(skin_name); catch {i} onehero_link = strcat('http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' = [] for i in herolist.json(): try: hero_skin_number.append(len(i['skin_name'].split("|"

    89630编辑于 2022-07-27
  • 来自专栏sktj

    jquery 换肤

    ">

  • 灰色
  • 紫色
  • 红色
  • 天蓝色
  • 橙色
  • _0{ background-position:0px 0px; } skin_1{ background-position:15px 0px; } skin_2{ background-position :35px 0px; } skin_3{ background-position:55px 0px; } skin_4{ background-position:75px 0px; } skin_5{ important; } skin_1.selected{ background-position:15px 15px !

69800发布于 2019-10-10
  • 来自专栏Python爬虫实战

    Python爬虫:十几行代码下载王者荣耀所有皮肤

    测试代码(接代码片段1)如下: # 代码片段2 hero_name = hero_json[0]['cname'] skin_names = hero_json[0]['skin_name' ].split('|') skin_num = len(skin_names) print('hero_name: ', hero_name) print('skin_names :', skin_names) print('skin_num: ' + str(skin_num)) 运行结果如下: [廉颇.png] 可以看到廉颇一共两个皮肤,皮肤名称分别为:正义轰爆和地狱岩魂 [i]['skin_name'].split('|') for cnt in range(len(skin_names)): save_file_name = 'D:\ skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/'+str(hero_json[i]['ename

    1.4K90发布于 2018-05-02
  • 来自专栏我就是马云飞

    如何爬取王者荣耀英雄皮肤高清图片?

    ' # 图片url的通用前缀 self.skin_url = 'https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info name_list = img_names.split('|') skin_no = 1 # 循环下载皮肤图片 for skin_name in name_list: self.skin_detail_url = '%s/%s-bigskin-%s.jpg' % (hero_no, hero_no, skin_no = parse.urljoin(self.skin_url, self.skin_detail_url) request = requests.get(img_url) (hero_name, hero_no) # 程序执行入口 if __name__ == '__main__': skin = Skin() skin.run() 最后 其实思路就是这么简单

    2.3K50发布于 2018-12-07
  • 来自专栏可以叫我才哥

    40行python代码搞定王者荣耀全部壁纸下载

    herolist [{'ename': 105, 'cname': '廉颇', 'title': '正义爆轰', 'new_type': 0, 'hero_type': 3, 'skin_name (filename): return img_url = f"http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/ data-imgname="([^"]+)"', res.text)[0].split("|") print(eid, name, skin_names) for i, skin_name in enumerate(skin_names, 1): end = skin_name.find("&") skin_name = skin_name[:len(skin_name ) if end == -1 else end] download_img(eid, name, i, skin_name) headers = { 'User-Agent'

    74530编辑于 2022-06-06
  • 来自专栏FPGA开源工作室

    基于FPGA的人脸位置定位的仿真实现

    ; reg [23:0] skin_rgb_r; reg [23:0] skin_gray_r; assign reset_n) begin skin_binary_r <= 24'h000000; skin_rgb_r <= 24'h000000; skin_gray_r <= <= 24'b000_000; skin_rgb_r <= i_rgb; skin_gray_r <= i_gray; end else begin skin_binary_r <= 24'hfff_fff; skin_rgb_r <= 24'hFFFFFF; skin_gray_r <= 24'hFFFFFF; end end always@( ; assignskin_rgb_image = skin_rgb_r; assignskin_gray_image = skin_gray_r; endmodule 3 实验结果 ?

    91520发布于 2019-10-29
  • 来自专栏生信小驿站

    R语言日常笔记(2)distinc函数

    ) > library(tidyverse) > starwars %>% + head() # A tibble: 6 x 13 name height mass hair_color skin_color height)%>% + head() # A tibble: 6 x 13 name height mass hair_color skin_color eye_color birth_year ', 'height', 'mass')] # A tibble: 5 x 5 name gender skin_color height mass) %>% + group_by(gender) %>% + summarize(name = first(name), skin_color=first(skin_color , height, mass) %>% group_by(gender) %>% summarize(name = first(name), skin_color=first(skin_color

    4.8K30发布于 2019-07-16
  • 来自专栏cloudskyme

    directui

    ++技术,所以,先看一下什么是Skin++吧 Skin++,系统软件,采用独特的软件界面开发技术,让原本复杂繁琐的界面编程变得轻松自如,随着换肤技术的不断进步,Skin++不仅是功能强大的换肤控件,而且是一款非常通用的换肤插件 Skin++ 主要采用Hook与子类化技术来实现应用程序的自动换肤。 Skin++换肤的大致流程   1、应用程序启动,加载Skin++库;    2、执行Skin++加载皮肤文件API函数;    3、Skin++ 安装窗口过程等类型Hook,准备截获应用程序所有窗口的创建事件 API函数来进行;    9、控件销毁时,Skin++即对其进行反子类化,将Skin++换肤前的消息过程地址重新设成当前的消息过程;    10、控件所有的消息不再经过Skin++消息处理函数。 控件执行其默认的窗口消息处理函数;    11、应用程序退出,Skin++库被卸载,在卸载之前Skin++获得通知,Skin++便在内部执行Hook的反初始化与资源文件的清理。

    2.7K60发布于 2018-03-19
  • 皮肤病黑头暗斑油性皮肤眼袋白头皱纹检测数据集VOC+YOLO格式2347张10类别

    firc-dataset 标注类别名称(注意yolo格式类别顺序不和这个对应,而以labels文件夹classes.txt为准):["Acne","Blackheads","Dark-Spots","Dry-Skin ","Englarged-Pores","Eyebags","Oily-Skin","Skin-Redness","Whiteheads","Wrinkles"] 每个类别标注的框数: Acne 框数 = 9657 Blackheads 框数 = 577 Dark-Spots 框数 = 91 Dry-Skin 框数 = 1844 Englarged-Pores 框数 = 588 Eyebags 框数 = 428 Oily-Skin 框数 = 710 Skin-Redness 框数 = 100 Whiteheads 框数 = 584 Wrinkles 框数 = 1719 总框数:16298 使用标注工具 ": "皮肤干燥",  "Englarged-Pores": "毛孔粗大",  "Eyebags": "眼袋",  "Oily-Skin": "油性皮肤",  "Skin-Redness": "皮肤泛红

    26610编辑于 2025-08-28
  • 领券