android 中关于themes.xml文件中属性复写失败

mwx7023106031 2013-10-29 10:47:03
今天在复写themes.xml文件中panelMenuListTheme的属性提示找不到该属性,而复写panelBackground属性成功。两相比较一个在public.xml文件中有id,一个没有。网上查阅的资料public.xml文件应该是自动生成的,也可以手动修改。不过手动修改会有诸如不兼容、须修改多个文件的问题。想请教大婶们,如何来自动生成public.xml文件。自动生成的方法说的比较模糊(正常添加完资源后,执行make update-api函数,系统更新res/values/public.xml文件)。这个正常添加资源应该怎么添加,系统添加的panelMenuListTheme缺少哪个部分导致无法在public.xml文件中生成id呢?
...全文
221 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
依然绿茶 2013-10-29
  • 打赏
  • 举报
回复
楼主是这样的:如果你有资源需要公开让应用使用的话,就需要在public.xml里面添加,而且要指定一个整数id值,可以是手动输入,比如:
<public type="style" name="Theme.Wallpaper.NoTitleBar.Fullscreen" id="0x01030060" />
而且我一般也是手动加入public.xml中的,并没有产生像你所说的诸如不兼容、须修改多个文件的问题,只要你这个id使用的段是指定的段就行,比如type="style"类型的不要用到其他如type="string"类型的段int值就行,每种资源都规定了指定的段值,不要越界。 make update-api这个命令一般是用于更新框架里面新增接口函数。
mwx7023106031 2013-10-29
  • 打赏
  • 举报
回复
大致应该明白是怎么会事,照1楼所说的,我要用的那个应该是 <public type="attr" name="panelMenuListTheme" id="***" /> 该id区间是0x01010000 --0x0101ffff,上边*号应该填入attr类型最后一个id增1即可 但是我有个担心是,在我占用那个id后,会不会有其他修改,比如系统的更新,或者添加其他资源引起id冲突。也就是说,public.xml文件是不是都是手动修改的。因为android中接触的资源id都是通过系统自己生成的,如果public.xml存在自动生成id的情况,就可能会与我指定id相互冲突。

80,492

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧