【问题标题】:How to create striped button with rounded corners如何创建带圆角的条纹按钮
【发布时间】:2012-07-04 22:22:49
【问题描述】:

是否可以创建带有条纹背景和圆角的按钮?

我知道如何使用http://www.stripegenerator.com/ 和带有 tileMode="repeat" 的位图 xml 制作条纹背景(对角条纹),并且我知道如何使用形状创建圆角,我什至可以将它们完全放在图层列表中,但我不知道如何制作圆角位图....

【问题讨论】:

标签: android


【解决方案1】:

我想你可以看看九号补丁技术。

这是官方文档:

http://developer.android.com/tools/help/draw9patch.html

这是一个很好的入门教程:

http://radleymarx.com/blog/simple-guide-to-9-patch/

【讨论】:

  • 感谢您的建议,但我怀疑 9patch 不起作用,因为我有斜条纹,我错了吗?
【解决方案2】:

我通过以下 xml 解决了我的问题

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list>
            <item android:top="1dp" android:bottom="1dp" android:left="1dp" android:right="1dp">
                <bitmap android:src="@drawable/btn_green_light_bkg_pattern"
                        android:tileMode="repeat"
                        android:dither="true"/>
            </item>
            <item>
                <shape android:shape="rectangle">
                    <corners android:radius="5dp"/>
                    <stroke android:width="2dp" android:color="#e6f4cc"/>
                    <solid android:color="@android:color/transparent"/>
                </shape>
            </item>
            <item android:top="2dp">
                <shape android:shape="rectangle">
                    <corners android:radius="5dp"/>
                    <stroke android:width="1dp" android:color="#c3e392"/>
                    <solid android:color="@android:color/transparent"/>
                </shape>
            </item>
            <item>
                <shape android:shape="rectangle">
                    <corners android:radius="5dp"/>
                    <stroke android:width="1dp" android:color="#a6a6a6"/>
                    <solid android:color="@android:color/transparent"/>
                </shape>
            </item>
        </layer-list>
    </item>
    <item android:state_pressed="true">
        <layer-list>
            <item android:top="1dp" android:bottom="1dp" android:left="1dp" android:right="1dp">
                <bitmap android:src="@drawable/btn_green_dark_bkg_pattern"
                        android:tileMode="repeat"
                        android:dither="true"/>
            </item>
            <item>
                <shape android:shape="rectangle">
                    <corners android:radius="5dp"/>
                    <stroke android:width="2dp" android:color="#e6f4cc"/>
                    <solid android:color="@android:color/transparent"/>
                </shape>
            </item>
            <item android:top="2dp">
                <shape android:shape="rectangle">
                    <corners android:radius="5dp"/>
                    <stroke android:width="1dp" android:color="#c3e392"/>
                    <solid android:color="@android:color/transparent"/>
                </shape>
            </item>
            <item>
                <shape android:shape="rectangle">
                    <corners android:radius="5dp"/>
                    <stroke android:width="1dp" android:color="@android:color/black"/>
                    <solid android:color="@android:color/transparent"/>
                </shape>
            </item>
        </layer-list>
    </item>
</selector>

【讨论】:

    猜你喜欢
    • 2021-04-23
    • 1970-01-01
    • 2012-09-28
    • 2014-02-03
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    相关资源
    最近更新 更多