- 浏览: 279677 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
-
flyingsnowff:
支付宝官方在线文档中心:https://doc.open.al ...
如何集成支付宝官方文档 -
timer_yin:
果然是这样
[转帖] 安装Eclipse插件长时间卡在 calculating requirements and dependencies -
dai_lm:
lyx0224 写道强~~~~~过奖,只是总结了前人的智慧,拼 ...
通过Wifi实现设备间的通信 -
lyx0224:
强~~~~~
通过Wifi实现设备间的通信 -
Goro:
帅!
自己封装的支持自动对焦的CameraView
网上找了很久,未果。
偶然的机会,看到aiMinesweeper.HelloSkin的AndroidManifest.xml里有那么一个属性:android:sharedUserId="com.artfulbits.aiminesweeper"
顿时感到看到了阳光,马上google了一下,发现了关键的地方。
SharedUserid
拥有同一个User id的多个APK可以配置成运行在同一个进程中,所以默认就是可以互相访问任意数据。也可以配置成运行成不同的进程,同时可以访问其他APK的数据目录下的数据库和文件,就像访问本程序的数据一样。
哈哈,这个就是我要找的东西,马上开始试验。
工程1(主工程)
只有1个画面,包含1个为了测试用的button
AndroidManifest.xml
MainActivity
drawable下放一张名为btn_background.pnd的图片
工程2(皮肤工程)
AndroidManifest.xml
drawable下也放一张名为btn_background.png的图片(换成xml文件就可以实现不同状态不同图片的功能)
把2个工程都安装到模拟器上以后,运行工程1,button上的图片果然是工程2中的btn_background.png,终于成功了。
测试代码(主工程和皮肤工程)已上传,没写注释望见谅。
这个逻辑就看各人怎么控制了,一般的做法是把皮肤的package存到数据库,然后切换。
那不知你是怎么实现的。能否提点一下
我没有做。
如果你想做,你可以
1. 开发主程序的时候,允许其他应用调用你的数据库(用URI,网上搜一下)
2. 安装皮肤程序的时候,通过接口往你的数据库添加package名
3. 在主程序里,添加一个dialog,可以把数据库里已添加的皮肤显示出来,供切换
4. 如果切换到默认皮肤,只要把相应的变量设成某某值(例如:DEFAULT)就可以了
希望对你有所帮助
好的,谢谢了。我试试去
这个逻辑就看各人怎么控制了,一般的做法是把皮肤的package存到数据库,然后切换。
那不知你是怎么实现的。能否提点一下
我没有做。
如果你想做,你可以
1. 开发主程序的时候,允许其他应用调用你的数据库(用URI,网上搜一下)
2. 安装皮肤程序的时候,通过接口往你的数据库添加package名
3. 在主程序里,添加一个dialog,可以把数据库里已添加的皮肤显示出来,供切换
4. 如果切换到默认皮肤,只要把相应的变量设成某某值(例如:DEFAULT)就可以了
希望对你有所帮助
这个逻辑就看各人怎么控制了,一般的做法是把皮肤的package存到数据库,然后切换。
那不知你是怎么实现的。能否提点一下
这个逻辑就看各人怎么控制了,一般的做法是把皮肤的package存到数据库,然后切换。
/guide/topics/resources/drawable-resource.html#LevelList
我想你可以参考这个,通过设定不同的level值,就可以调用不同的drawable,可能这个可以满足你的要求
偶然的机会,看到aiMinesweeper.HelloSkin的AndroidManifest.xml里有那么一个属性:android:sharedUserId="com.artfulbits.aiminesweeper"
顿时感到看到了阳光,马上google了一下,发现了关键的地方。
SharedUserid
拥有同一个User id的多个APK可以配置成运行在同一个进程中,所以默认就是可以互相访问任意数据。也可以配置成运行成不同的进程,同时可以访问其他APK的数据目录下的数据库和文件,就像访问本程序的数据一样。
哈哈,这个就是我要找的东西,马上开始试验。
工程1(主工程)
只有1个画面,包含1个为了测试用的button
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.test.android.skin.main" android:versionCode="1" android:versionName="1.0" android:sharedUserId="com.test.android.skin"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
MainActivity
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Context friendContext = null; try { friendContext = this.createPackageContext( "com.test.android.skin.myskin", Context.CONTEXT_IGNORE_SECURITY); } catch (NameNotFoundException e) { e.printStackTrace(); } Button btn = (Button) findViewById(R.id.btn); btn.setBackgroundDrawable(friendContext.getResources().getDrawable( R.drawable.btn_background)); }
drawable下放一张名为btn_background.pnd的图片
工程2(皮肤工程)
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.test.android.skin.myskin" android:versionCode="1" android:versionName="1.0" android:sharedUserId="com.test.android.skin"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
drawable下也放一张名为btn_background.png的图片(换成xml文件就可以实现不同状态不同图片的功能)
把2个工程都安装到模拟器上以后,运行工程1,button上的图片果然是工程2中的btn_background.png,终于成功了。
测试代码(主工程和皮肤工程)已上传,没写注释望见谅。
评论
12 楼
clm86
2011-08-15
dai_lm 写道
clm86 写道
dai_lm 写道
clm86 写道
你好,我想问一下,你还有没有研究换肤的。我看了一下你这个,这样换肤是不是要在手机上再装上新皮肤的应用。要是要换到默认的皮肤不就控制不了。。。
这个逻辑就看各人怎么控制了,一般的做法是把皮肤的package存到数据库,然后切换。
那不知你是怎么实现的。能否提点一下
我没有做。
如果你想做,你可以
1. 开发主程序的时候,允许其他应用调用你的数据库(用URI,网上搜一下)
2. 安装皮肤程序的时候,通过接口往你的数据库添加package名
3. 在主程序里,添加一个dialog,可以把数据库里已添加的皮肤显示出来,供切换
4. 如果切换到默认皮肤,只要把相应的变量设成某某值(例如:DEFAULT)就可以了
希望对你有所帮助
好的,谢谢了。我试试去
11 楼
dai_lm
2011-08-15
clm86 写道
dai_lm 写道
clm86 写道
你好,我想问一下,你还有没有研究换肤的。我看了一下你这个,这样换肤是不是要在手机上再装上新皮肤的应用。要是要换到默认的皮肤不就控制不了。。。
这个逻辑就看各人怎么控制了,一般的做法是把皮肤的package存到数据库,然后切换。
那不知你是怎么实现的。能否提点一下
我没有做。
如果你想做,你可以
1. 开发主程序的时候,允许其他应用调用你的数据库(用URI,网上搜一下)
2. 安装皮肤程序的时候,通过接口往你的数据库添加package名
3. 在主程序里,添加一个dialog,可以把数据库里已添加的皮肤显示出来,供切换
4. 如果切换到默认皮肤,只要把相应的变量设成某某值(例如:DEFAULT)就可以了
希望对你有所帮助
10 楼
clm86
2011-08-14
dai_lm 写道
clm86 写道
你好,我想问一下,你还有没有研究换肤的。我看了一下你这个,这样换肤是不是要在手机上再装上新皮肤的应用。要是要换到默认的皮肤不就控制不了。。。
这个逻辑就看各人怎么控制了,一般的做法是把皮肤的package存到数据库,然后切换。
那不知你是怎么实现的。能否提点一下
9 楼
dai_lm
2011-08-12
clm86 写道
你好,我想问一下,你还有没有研究换肤的。我看了一下你这个,这样换肤是不是要在手机上再装上新皮肤的应用。要是要换到默认的皮肤不就控制不了。。。
这个逻辑就看各人怎么控制了,一般的做法是把皮肤的package存到数据库,然后切换。
8 楼
clm86
2011-08-11
你好,我想问一下,你还有没有研究换肤的。我看了一下你这个,这样换肤是不是要在手机上再装上新皮肤的应用。要是要换到默认的皮肤不就控制不了。。。
7 楼
dai_lm
2011-04-18
live17909 写道
同一个工程里就包含了多套皮肤,那么切换就更简单?怎么切换呢,代码可以控制drawable不同文件夹的显示吗?drawable文件夹的图片不是系统自适应显示的吗
/guide/topics/resources/drawable-resource.html#LevelList
我想你可以参考这个,通过设定不同的level值,就可以调用不同的drawable,可能这个可以满足你的要求
6 楼
live17909
2011-04-18
同一个工程里就包含了多套皮肤,那么切换就更简单?怎么切换呢,代码可以控制drawable不同文件夹的显示吗?drawable文件夹的图片不是系统自适应显示的吗
5 楼
dai_lm
2011-04-12
代码已上传,有需要的朋友可以下载
(水平有限,勿喷)
(水平有限,勿喷)
4 楼
live17909
2011-04-11
主工程报图片资源找不到呢。是不是还漏了哪里
3 楼
live17909
2011-04-07
能出源码吗
2 楼
dai_lm
2011-03-23
恩,对的,的确是共享2个工程之间的资源
这样就可以创建一个只有默认皮肤的工程,一个单独的皮肤工程,调用皮肤工程的资源就可以改变Activity画面的主题,布局等。
如果想做多套皮肤,只要创建相应多的皮肤工程,然后安装就可以了。
如果是在同一个工程里就包含了多套皮肤,那么切换就更简单,直接代码控制就可以了。
当然这个只是自己的研究调查,如果有不对的地方,还请指教
这样就可以创建一个只有默认皮肤的工程,一个单独的皮肤工程,调用皮肤工程的资源就可以改变Activity画面的主题,布局等。
如果想做多套皮肤,只要创建相应多的皮肤工程,然后安装就可以了。
如果是在同一个工程里就包含了多套皮肤,那么切换就更简单,直接代码控制就可以了。
当然这个只是自己的研究调查,如果有不对的地方,还请指教

1 楼
cqllang
2011-03-07
感觉是sharedUserId共享两个程序之间资源的吧?
跟换皮肤好像关系不大?
跟换皮肤好像关系不大?
发表评论
-
获取Android Device的信息
2013-12-26 15:47 1519String phoneInfo = "PROD ... -
看雪学院-Android安全
2013-11-25 09:40 1005http://bbs.pediy.com/forumdispl ... -
Toast原来也可以多样化
2013-09-18 13:48 1231Style 1: 默认 Toast def = Toast ... -
Google Map API V2
2013-05-13 13:37 2273以后如果要开发包含google map的程序就更麻烦咯 htt ... -
用OpenGL实现无限循环的coverflow
2013-04-26 14:16 4921网上找了很久,都是用Gallery实现的,效果不是很满意,结果 ... -
如何集成支付宝官方文档
2013-02-08 11:24 4566官方文档下载地址 https://b.alipay.com/o ... -
[转帖]裁剪图片
2013-01-30 17:22 1006原帖:http://www.linuxidc.com/Linu ... -
MonkeyRunner的使用
2013-01-29 13:06 9758要使用MonkeyRunner,就要 ... -
重复执行某段代码
2012-12-29 14:36 1643用handler就可以了 private Handler ... -
选择音频的输出方式
2012-12-12 15:00 2013可以选择用耳机还是扬声器播放(蓝牙的就留到下次吧),要求SDK ... -
使FrameLayout的Gravity等于Center
2012-12-06 16:42 1793由于无法设置FrameLayout的Gravity,所以只能通 ... -
在Android上模拟MetroUI
2012-10-31 15:49 2691在Android上模拟WP7的MetroUI MetroIt ... -
Uri.Builder与String互转
2012-08-14 15:56 2396Uri.Builder -> String Uri. ... -
判断屏幕尺寸
2012-07-17 10:21 1920// support from API 4 final ... -
自己封装的支持自动对焦的CameraView
2012-07-12 13:52 3738import java.io.BufferedOutp ... -
ADT 离线包下载地址
2012-07-06 14:32 2126更新ADT真是件苦恼的事啊 20.0.0的下载地址 http ... -
通过Wifi实现设备间的通信
2012-06-05 15:19 2118服务器端,建立监听(方法更新,可以同时连接多个Client) ... -
IP地址的获取及解析
2012-06-05 13:31 1308获取IP地址 WifiManager wifiManage ... -
判断网络是否有效
2012-05-28 17:32 1015protected boolean isInternetA ... -
悬浮窗
2012-05-28 17:21 3154类似于360监视网络速度的那个悬浮窗 public cl ...
相关推荐
你可以使用Pen、Brush等对象绘制线条、填充颜色,并结合图片资源,实现个性化的皮肤效果。 3. **皮肤引擎**:市面上也有一些第三方的皮肤引擎库,如.NET Skin Framework、Visual Studio Skin Manager等。这些库提供...
在软件开发中,皮肤是指可以改变用户界面外观的一组图形元素,如按钮、文本框、菜单等控件的样式。通过更换皮肤,开发者可以快速地改变程序的整体视觉风格,满足不同用户的需求。 C# Skin Engine 是一个专门用于C#...
总的来说,通过学习这个系列,你可以掌握如何在C#中创建自定义控件皮肤,提升你的应用程序界面设计能力。无论你是初学者还是有一定经验的开发者,都可以跟随教程一步步实践,最终实现自己独特的窗体皮肤。如果你有...
QQ用户都知道,个性化一直是QQ软件的一大特色,QQ2021版也不例外,其界面皮肤的自定义选项给了广大用户广泛的自由度。在众多个性化选项中,QQ皮肤透明效果因其独特的视觉体验和个性化表现,成为了不少用户的追求目标...
在QQ2021的皮肤设置界面,通常会有“更新皮肤”或“应用”按钮,点击它,系统会立即应用你所做的透明度调整。如果想要更换皮肤图片,可以在同一个界面中找到“自定义”选项,选择你之前准备好的图片,然后按照提示...
3、在你的软件设计界面添加“SkinEngine”控件 4、在Private Sub Form1_Load 下添加这句调用代码:SkinEngine1.SkinFile = "office2007.ssk" 5、成功使用,以后使用的话只需要做第3、4步就可以了,简单吧?! 注意...
你可以根据应用的风格和目标用户群体选择合适的皮肤。 总结来说,VS2005程序界面皮肤的使用可以极大地提升你的WinForm应用程序的视觉表现,通过遵循提供的教程,开发者能够轻松掌握这一技术,创造出独具特色的用户...
在开始之前,你需要确保已经安装了以下几款软件: 1. **格式工厂**:用于图片的格式转换。 2. **QQ影像**:用于图片的编辑处理。 此外,还需要满足以下前提条件: - 使用游戏的主程序安装皮肤基础包。 #### 三、...
在Windows应用程序开发中,皮肤控件(Skin Control)是一种能够为用户...通过选择合适的皮肤控件库,开发者可以轻松地打造出引人入胜的应用界面,同时也要注意平衡性能和兼容性问题,确保软件在各种环境下的稳定运行。
控件的样式定义于XML中,你可以在xml中定义一张图片,并设置其在窗口的任何位置,包括标题栏区域, 产品升级及售后服务 DSkinLite界面库产品及服务: DSkinLite产品使用授权 软件界面开发服务 控件定制服务 ...
以下是详细的步骤,教你如何将个性皮肤做成一张全屏图: 1. **开启自定义皮肤功能**: 首先,确保你的QQ黄钻等级达到了LV3或你是年费黄钻用户,因为这是自定义皮肤的前提条件。然后,登录你的QQ空间。 2. **进入...
在C#编程环境中,开发Windows桌面应用程序...无论是从视觉美观还是功能交互的角度,皮肤化都是提升软件质量的一个重要方面。正确地导入和应用皮肤文件,结合良好的设计原则,可以让C# Form窗口变得更加生动和引人注目。
Photoshop(简称PS)是一款由Adobe Systems开发的图像处理软件,以其强大的图像编辑和合成功能闻名于世。本文将从提供的教程片段中提取关键的调色技巧,帮助初学者掌握如何通过PS提升照片的视觉效果。 1. **基础...
描述中的"很漂亮的界面,想做界面的同学可以试着学学"暗示了这个皮肤库提供了美观的界面设计,适合那些希望提升自己应用视觉效果的学习者或者开发者。它表明该库不仅美观,而且易于学习和使用,因为“用法很简单”,...
1. **皮肤支持**:提供多种预设皮肤,用户可以选择自己喜欢的主题风格,如金属、木质、玻璃等,也可以自定义皮肤,以满足特定需求。 2. **控件皮肤化**:能够将常见的Windows控件,如按钮、编辑框、列表框、菜单等...
以下是一些基本步骤和技巧,教你如何利用Photoshop调出柔和的蓝黄色调、漂亮的红黄色调以及怀旧风格的照片,同时还能进行人物细嫩肌肤的年轻化处理和制作魔幻海报。 1. **调出柔和的蓝黄色调** - 首先,复制背景...
PhotoShop 是一款功能强大的图像编辑软件,对于人像皮肤修饰(磨皮)有着非常重要的应用价值。今天,我们将详细介绍两种使用 PhotoShop 对人像皮肤进行修饰(磨皮)的方法。 方法一:使用修复画笔工具 1. 打开 ...
对于那些想要更加个性化设置的用户,软件还提供了导入自定义图片的功能,用户可以将个人的照片、艺术作品等融入到皮肤设计中,真正实现了独一无二的输入法外观。 技术上的细节处理也是这款编辑工具的一大亮点。它很...
这样做可以将之前的调整合并,便于后续操作。 5. **智能魔术棒工具**: 该工具用于快速选择相似颜色的区域,如人物的脖子和手部。选择后,可以通过通道面板存储选区,以便在其他调整层中应用。 6. **曲线调整层**...