我想开发一个android应用程序,但我不想使用默认控件(按钮,复选框,单选按钮等)。有什么方法可以自定义这些控件,以使其看起来更好。如果是这样,那么一些教程或指南将对我有很大帮助。谢谢....

最佳答案

如果要创建全新的UI元素,则应阅读developer guide topic on creating custom components/views

另一方面,如果您只想更改现有UI元素的外观,则下面列出了您需要做的一些不详尽的事情。假设您熟悉Android resources framework和布局系统。

  • 首先,了解如何在Android源代码(AOSPGitHub's mirror)中实现这些功能。您感兴趣的所有代码都在frameworks/base.git项目中(快速链接:resourcesJava sources)
  • 对于每种类型的UI元素,为每种UI状态(默认,禁用,按下,聚焦等)和每种相关密度(例如,中,高和超高密度)创建Nine Patch PNG drawables。这些PNG应该在res/drawable-mdpi/res/drawable-hdpi/res/drawable-xhdpi/目录中。
  • 对于每种类型的UI元素,创建一个state list XML drawable(<selector>),它将位于res/drawable/目录中。可以在here中找到默认Android按钮的可绘制状态列表。
  • 将按钮/文本框/等的android:background属性设置为状态列表可绘制名称。例如,如果您的状态列表drawable是@drawable/mybutton,则属性值应为res/drawable/mybutton.xml。注意:您可以使用themes减少XML文件中的冗余(即,将其保留为DRY)。
  • 关于android - 自定义UI控件指南,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3067792/

    10-13 04:40