才发现android程序不支持换肤的
于是我就想到定义很多种样式, 如:
mini_text
mini_text_Theme1
mini_text_Theme2
当用户先择了Theme2时,就把R.style.mini_text的值替换为R.style.mini_text_Theme2的值.
于是就引出一个问题,怎样才能让自动生成的R类里没有final限制符?

解决方案 »

  1.   

    这个应该不是很难,就是定义一些图片和theme,style什么的
      

  2.   

    有其他编程经验的人都会想当然的认为theme是style的父集, 只要改了theme, style集也会跟着更改。
    我觉android不完善的体现之一就是,很多想当然的都没有....
      

  3.   

    实现了这种思路了,但无效,估计是布局文件编译后,直接就确定写死了style的int值了,而不是运行时来确定的.
    散分了....
      

  4.   

    我没有想出好办法,Mark一下,我觉得苦想怎样才能让自动生成的R类里没有final限制符这条路,不会得到答案的。
      

  5.   

    我己经让自动生成的R类里没有final限制符了:
    找到E:\android-sdk\platform-tools\aapt.exe 用UltraEdit打开
    切换到非二进制模式, 搜索final, 找到第1345行的final
    切换到二进制模式, 将final每个字符对应的16进制,改为20
    最后保存一下就可以了
      

  6.   

    去掉final后,能否实现换肤??
      

  7.   

    自己实现了两种方式的换肤
    其实可以从资源访问和资源XML解析的角度去处理
    有兴趣可以私聊 
    改动涉及到AAPT PackageManger ZipIO Resource XMLParse