首页 > 解决方案 > 带背景的扁平按钮,或带边框的透明背景

问题描述

我不是原生 Android 开发者,但我通过修改 react-native 原生包来学习。

我试图使用本机 Button 组件并以编程方式进行更改,使其看起来像“卸载”的 Play 商店按钮,它是透明背景和边框。还有坚固的“打开”按钮。我只能通过以下方式使其“无国界”:

super(context, null, android.R.attr.borderlessButtonStyle)

或定期提出:

super(context)

这是Play商店按钮的屏幕截图,有谁知道如何以编程方式制作这些按钮。包括以编程方式切换android.R.attr.borderlessButtonStyle

标签: android

解决方案


您需要制作自己的可绘制对象。这是一个例子。不要使用这个,只是复制和修改,因为它不是您要求的样式,它只是一个示例。

   <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <shape>
            <solid
                android:color="#000000" />
            <stroke
                android:width="1dp"
                android:color="#ffffff" />
            <corners
                android:radius="4dp" />
            <padding
                android:left="6dp"
                android:top="6dp"
                android:right="6dp"
                android:bottom="6dp" />
        </shape>
    </item>
    <item>
        <shape>
            <solid
                android:color="#90aabbcc" />
            <stroke
                android:width="1dp"
                android:color="#ffffff" />
            <corners
                android:radius="4dp" />
            <padding
                android:left="6dp"
                android:top="6dp"
                android:right="6dp"
                android:bottom="6dp" />
        </shape>
    </item>
</selector>

当然,您是否拥有颜色、自己的边框或无边框以及圆角半径,您就完成了。


推荐阅读