1

我最近偶然发现了一个通过 XML 项模拟 android 按钮样式的解决方案。问题是,我必须为我使用的每个按钮创建一个不同的 xml 文件。(我正在制作一个具有 16 多种颜色的绘画应用程序,因此有 16 多个按钮)我尝试将他的 XML 项嵌入到样式、可绘制对象甚至另一个项中,以便我可以将所有 16 个左右的按钮保存在一个文件中。当我尝试调试它时,我不断收到“错误:解析 XML 时出错:未绑定前缀”。我对 android 编程场景非常陌生,这是我用 Java 编写的第一个应用程序。(我正在使用 MIT 应用程序发明者软件来规划我的应用程序。设计、简单编码等等)。这是我的风格。(注意:这不是整个 XML 文件,只是我用于按钮的 xml。

<style name="test">
    <item android:state_pressed="true">
        <shape>
            <gradient
                android:startColor="@color/yellow"
                android:endColor="@color/gold"
                android:angle="270" />
            <stroke
                android:width="3dp"
                android:color="@color/grey5" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>

    <item android:state_focused="true" >
        <shape>
            <gradient
                android:endColor="@color/gold"
                android:startColor="@color/black"
                android:angle="270" />
            <stroke
                android:width="3dp"
                android:color="@color/grey5" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
    <item>        
        <shape>
            <gradient
                android:endColor="@color/blue"
                android:startColor="@color/lime"
                android:angle="270" />
            <stroke
                android:width="3dp"
                android:color="@color/grey5" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</style>

当它(减去样式标签)放在它自己的文件中并用作按钮的背景属性时,它可以正常工作,但是当它“嵌入”到样式中时,它就不再起作用了。有没有一种简单的解决方案可以将我的所有按钮配置放在一个文件中?

4

1 回答 1

0

尝试定义父样式(例如您发布的样式)并定义您需要的其他样式以扩展该父样式。

<style name="yourChildStyle" parent="yourParentStyle"> 
... Here go attributes specific to your child style
</style>
于 2012-09-15T17:24:49.203 回答