gpt4 book ai didi

android - 覆盖android中的样式

转载 作者:行者123 更新时间:2023-11-29 02:15:54 28 4
gpt4 key购买 nike

假设我有一个带有样式的布局:

<LinearLAyout ... >
<TextView ... style=someStyle />
<ImageView ... style=someImageStyle ... />
</LinearLayout>

样式将在我的项目中的 xml 中定义。我如何用外部 xml 覆盖该样式? (我问是因为我注意到 View 没有 applyStyle\setStyle 或任何类似的东西(最好的选择,因为需要解析样式,与 android:attr 进行比较以进行验证,然后应用于 View 的每个项目).我确实想知道如何为我的应用制作可下载的主题。

最佳答案

经过一些经验,我可以在我自己的问题中分享我的想法......所以首先要注意的是,即使在你自己的风格中,也要尽可能多地使用维度、颜色和属性。这样,如果您想以编程方式将样式应用于 View ,您可以使用 getResources.getDimen...、getRessources().getColor()、getResrouces.getDrawable() 等...

此外,您可以从 aapt 获取代码或打开现有的 apk 并从那里获取已编译的 xml,然后使用相同的代码从 android 源读取 xml(请注意,这是 C 代码!!!)。我不会这样做的原因很简单,将简单的样式应用于 View 是一种矫枉过正的做法。写方法的时间太短了。如果你必须用 xml 来做,你可以创建一个只有你的 View 的 xml 文件,然后膨胀它,但是你不能在运行时替换样式。为此,您必须定义自己的机制来替换颜色、大小、背景等...并提供图像,这并不容易,如果我没记错的话,从本地存储中读取这些图像会降低效率然后从 Assets 或可绘制目录中读取它们。

关于android - 覆盖android中的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3957697/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com