gpt4 book ai didi

Android ImageButton 没有边框但仍然有点击指示

转载 作者:太空宇宙 更新时间:2023-11-03 11:27:22 26 4
gpt4 key购买 nike

如何创建无边框的 ImageButton(只有图像应该可见)?可以通过设置 imageButton.setBackgroundDrawable(null) 来实现这一点,但这也会删除焦点和选择颜色。

目标是最初只有没有边框的图像是可见的。但是,当用户聚焦/触摸/点击图像时,这应该通过突出显示图像来指示,就像常规按钮一样。

API 14 的 Java 代码解决方案是首选。谢谢!

最佳答案

如前所述,内置于 API11 及更高版本默认主题中的 borderlessButtonStyle 是实现此效果的最简单方法。您提到您正在使用 Java 代码而不是 XML 创建按钮,因此根据您需要如何应用样式,有两种选择。

选项 #1:将其添加到主题

如果您的应用程序(或至少在 Activity 中)中的所有 ButtonImageButton 实例都需要应用此样式,请将样式添加到您的主题中:

<resources>
<style name="AppTheme" parent="android:Theme.Holo.Light">
<!-- Default style for ImageButtons -->
<item name="android:imageButtonStyle">?android:borderlessButtonStyle</item>
<!-- Default style for Buttons -->
<item name="android:buttonStyle">?android:borderlessButtonStyle</item>
</style>
</resources>

将此主题应用于您的应用程序或 Activity 后,您不必声明每个元素的样式,只需将它们声明为

Button button = new Button(context);
ImageButton imageButton = new ImageButton(context);

样式将从主题中提取。

选项 #2:在构造函数中声明它

如果只有几个按钮需要这样设置样式,您可以将要应用的样式属性直接传递给每个 View ,如下所示:

Button button = new Button(context, null, android.R.attr.borderlessButtonStyle);
ImageButton imageButton = new ImageButton(context, null, android.R.attr.borderlessButtonStyle);

此版本为小部件提供了不同的默认样式属性。

关于Android ImageButton 没有边框但仍然有点击指示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17027462/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com