【问题标题】:How to create a transparent Button?如何创建一个透明的按钮?
【发布时间】:2013-05-05 10:56:35
【问题描述】:

我正在尝试创建一个透明按钮。具体来说,我用图像设置了背景按钮,我想修改按钮的透明度以查看背景布局的颜色。

【问题讨论】:

    标签: android android-layout android-widget android-button


    【解决方案1】:

    你可以对你的 Button 使用setAlpha() 方法。

    在您的 java 代码中使用button.setAlpha(0.0),将使您的按钮完全透明。

    或者您也可以在布局 xml 中使用它。 在您的 <Button /> 标签内使用以下属性:

    android:alpha="0"
    

    【讨论】:

    • 但我的问题是“背景”属性只是在我的按钮上设置了我的图像路径....那么我可以获得透明度吗?
    • no 不起作用...我在布局 xml 中设置了 "android:alpha="0"" 但按钮消失了,但如果我点击他的位置,我可以让您的点击感到兴奋...所以我尝试设置 "android:alpha="50"" 或 android:alpha="255" 但没有任何反应按钮是一样的!!!
    • @francedema alpha 值可以设置在 0 到 1 的范围内。其中 0 - 100% 透明度,其中 1 - 0% 透明度。所以它是有效的,你只需要以正确的方式使用它。
    【解决方案2】:

    如果你使用

    ?android:attr/selectableItemBackground

    根据 android-developers 的this article,您将拥有具有波纹效果的透明背景

    这里是一个例子

    <Button
        android:id="@+id/test"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Change Password"
        android:background="?android:attr/selectableItemBackground"
        android:textSize="12sp"
        android:gravity="left|center"/>
    

    【讨论】:

    • 或使用style="@style/Widget.AppCompat.Button.Borderless"
    【解决方案3】:

    您可以使用android:alpha="0.5" 将按钮设置为半透明(该值必须是浮点数,其中 0.0 是不可见的,而 1.0 是不透明的),但请注意,这仅适用于 API 级别 11 (Android 3.0)以后。

    另一种选择是更改背景图像本身并使用 Gimp 或 Fireworks 等图形程序使其透明。

    【讨论】:

    • 您是如何发现这仅适用于从 api 11 开始的?
    【解决方案4】:

    如果你想让按钮透明,你可以使用

    android:background="@android:color/transparent"
    

    或者在有代码中使用#0000四个零。让它只有4否则将被视为黑色。

    希望对你有帮助

    【讨论】:

    • 感谢@Karan Mer 的四个零概念!
    【解决方案5】:

    我知道问题是关于 Button,但很容易实现“按钮”,即:

    • 透明
    • 没有阴影或边框
    • 带动画

    使用带有属性的 TextView:

            android:background="?attr/selectableItemBackground"
            android:clickable="true"
    

    看起来像这样:

    代码示例:

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="?attr/selectableItemBackground"
            android:clickable="true"
            android:onClick="onClickMethod"
            android:textStyle="bold"
            android:text="@string/transparent"/>
    

    【讨论】:

      【解决方案6】:

      而不是使用

      按钮或图像按钮

      你可以用一个

      图片

      并设置属性

      android:onClick="action"

      【讨论】:

        猜你喜欢
        • 2014-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-17
        • 1970-01-01
        • 2014-05-05
        • 2012-06-17
        相关资源
        最近更新 更多