- 浏览: 271996 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
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 1447String phoneInfo = "PROD ... -
看雪学院-Android安全
2013-11-25 09:40 949http://bbs.pediy.com/forumdispl ... -
Toast原来也可以多样化
2013-09-18 13:48 1167Style 1: 默认 Toast def = Toast ... -
Google Map API V2
2013-05-13 13:37 2158以后如果要开发包含google map的程序就更麻烦咯 htt ... -
用OpenGL实现无限循环的coverflow
2013-04-26 14:16 4787网上找了很久,都是用Gallery实现的,效果不是很满意,结果 ... -
如何集成支付宝官方文档
2013-02-08 11:24 4481官方文档下载地址 https://b.alipay.com/o ... -
[转帖]裁剪图片
2013-01-30 17:22 935原帖:http://www.linuxidc.com/Linu ... -
MonkeyRunner的使用
2013-01-29 13:06 9659要使用MonkeyRunner,就要 ... -
重复执行某段代码
2012-12-29 14:36 1567用handler就可以了 private Handler ... -
选择音频的输出方式
2012-12-12 15:00 1951可以选择用耳机还是扬声器播放(蓝牙的就留到下次吧),要求SDK ... -
使FrameLayout的Gravity等于Center
2012-12-06 16:42 1712由于无法设置FrameLayout的Gravity,所以只能通 ... -
在Android上模拟MetroUI
2012-10-31 15:49 2589在Android上模拟WP7的MetroUI MetroIt ... -
Uri.Builder与String互转
2012-08-14 15:56 2297Uri.Builder -> String Uri. ... -
判断屏幕尺寸
2012-07-17 10:21 1852// support from API 4 final ... -
自己封装的支持自动对焦的CameraView
2012-07-12 13:52 3600import java.io.BufferedOutp ... -
ADT 离线包下载地址
2012-07-06 14:32 1995更新ADT真是件苦恼的事啊 20.0.0的下载地址 http ... -
通过Wifi实现设备间的通信
2012-06-05 15:19 2003服务器端,建立监听(方法更新,可以同时连接多个Client) ... -
IP地址的获取及解析
2012-06-05 13:31 1250获取IP地址 WifiManager wifiManage ... -
判断网络是否有效
2012-05-28 17:32 948protected boolean isInternetA ... -
悬浮窗
2012-05-28 17:21 3043类似于360监视网络速度的那个悬浮窗 public cl ...
相关推荐
控件的样式定义于XML中,你可以在xml中定义一张图片,并设置其在窗口的任何位置,包括标题栏区域, 产品升级及售后服务 DSkinLite界面库产品及服务: DSkinLite产品使用授权 软件界面开发服务 控件定制服务 ...
7,按钮”使用帮助“你可以给我反馈或观看视频语音教程。 8,按钮“退出软件”即关闭本软件。 2012年12月17日 V2.6版本发布 1.优化了代码。 2.增加了更多商家商品搜索功能。 3.修改了价格统计显示方式,更加...
软件的拓展性很强,不仅可以设计打印格式,还可以自定义表格列内容、表头显示标题、单据编号编排规则等等 支持各种尺寸的打印纸和套表打印(套打) 支持即录即打功能(不需要先建立客户资料、产品资料就可以开单) ...
7. 集美容、美发功能于一体,进行发型设计的同时,还可以进行美容,抠图、克隆皮肤、磨皮袪痘、灯光渲染等展现靓丽皮肤,一键美容、一键磨皮更是能快速达到美容效果。 8. 制作贺卡,打印图片,精心挑选了各种背景、...
本书是针对那些对用户界面开发感兴趣的软件开发人员编写的,易于理解,适合那些.NET的新手,并有助于理解像Microsoft Expression Blend这样产品的精髓。 本书适合各层次Web开发人员阅读。 第一部分 背景 第1章 ...
支持操作界面皮肤自由切换功能,可以设置数据自动备份以及数据恢复功能。 支持产品资料管理、客户资料管理、销售管理流程、应收账款管理、银行收支管理。 正式版没有任何功能限制,终身免费升级、即时远程技术支持...
网页分析 → 穿透框架彻底分析网页元素,让你网页填表操作更加简单! 窗口探测 → 清晰的分析窗口中各种控件的ID,句柄,标题,类名,位置,大小! 生成代码 → 查找指定窗口控件,全智能生成易语言代码! 记 事 本 → ...
9.软件的拓展性很强,不仅可以设计打印格式,还可以表格列内容、表头显示标题、单据编号编排规则自己定义等。 10.支持各种尺寸的打印纸和套表打印(套打)。 11.支持即录即打功能(不需要先建立客户资料、产品资料就...
也有分析认为,谷歌并不想做一个简单的手机终端制造商或者软件平台开发商,而意在一统传统互联网和 移 动互联网。----------------------------------- Android 编程基础 4 Android Android Android Android 手机新...
但大多数这种软件或多或少的使用了WMI,如果我们能熟练掌握相信你也做的处理.另外WMI除了查询还能修改,比如3389端口,账号,密码,服务启动与关闭只要你想做的几乎都可以,因为WMI代替我们去与硬件打交到了,甚至是系统...
但大多数这种软件或多或少的使用了WMI,如果我们能熟练掌握相信你也做的处理.另外WMI除了查询还能修改,比如3389端口,账号,密码,服务启动与关闭只要你想做的几乎都可以,因为WMI代替我们去与硬件打交到了,甚至是系统...
但大多数这种软件或多或少的使用了WMI,如果我们能熟练掌握相信你也做的处理.另外WMI除了查询还能修改,比如3389端口,账号,密码,服务启动与关闭只要你想做的几乎都可以,因为WMI代替我们去与硬件打交到了,甚至是系统...
但大多数这种软件或多或少的使用了WMI,如果我们能熟练掌握相信你也做的处理.另外WMI除了查询还能修改,比如3389端口,账号,密码,服务启动与关闭只要你想做的几乎都可以,因为WMI代替我们去与硬件打交到了,甚至是系统...
但大多数这种软件或多或少的使用了WMI,如果我们能熟练掌握相信你也做的处理.另外WMI除了查询还能修改,比如3389端口,账号,密码,服务启动与关闭只要你想做的几乎都可以,因为WMI代替我们去与硬件打交到了,甚至是系统...
但大多数这种软件或多或少的使用了WMI,如果我们能熟练掌握相信你也做的处理.另外WMI除了查询还能修改,比如3389端口,账号,密码,服务启动与关闭只要你想做的几乎都可以,因为WMI代替我们去与硬件打交到了,甚至是系统...
关于Apache软件许可证 I. Maven实战 3. 一个简单的Maven项目 3.1. 简介 3.1.1. 下载本章的例子 3.2. 创建一个简单的项目 3.3. 构建一个简单的项目 3.4. 简单的项目对象模型 (Project Object Model) 3.5...
还要特别感谢一下hi百度的uruan,特意为PowerTool做了一个非常漂亮的Logo,很喜欢这个Design,多谢了~~~ 应用平台:for WindowsXp/Windows2003/Vista/Windows7(32 bit)(我只在这四个上面测试过,其他的系统上可能...
还没做的隐藏,嵌入。屏蔽窗口音效这些。 后续源码不会放出,目前已经很完善了。软件会提交一些平台供使用。 已知BUG:窗口的获取问题。我要获取的是桌面的执行任务。通过窗口样式进行获取。会获取不到一些窗口例如QQ...
再次重申报毒问题,封装软件肯定涉及系统深层的东西,还会修改部分系统文件与系统服务,被误报纯属正常(被某些国产杀毒误报就更正常不过了),微软官方杀毒没把ES3中任何一个文件当做病毒,大家可以自己尝试。...