如何创建没有边框的ImageButton(只是图像应该是可见的)?可以通过设置imageButton.setBackgroundDrawable(null)来实现这一点,但这也会删除焦点和选择颜色.
目标是最初只能看到没有边框的图像.但是当用户聚焦/触摸/点击图像时,应该通过像常规按钮一样高亮显示图像来指示.
用于API 14的Java-Code中的解决方案是优选的.谢谢!
解决方法:
如前所述,在API11及更高版本的默认主题中内置的borderlessButtonStyle是实现此效果的最简单方法.您提到使用Java代码而不是XML创建按钮,因此根据您需要应用样式的方式,有两个选项.
选项#1:将其添加到主题中
如果应用程序中的所有Button或ImageButton实例(或至少在Activity中)都需要应用此样式,请将样式添加到主题中:
?android:borderlessButtonStyle
?android:borderlessButtonStyle
将此主题应用于您的应用程序或活动,您不必声明每个元素的样式,您可以将它们声明为
Button button = new Button(context);
ImageButton imageButton = new ImageButton(context);
造型将从主题中拉出.
选项#2:在构造函数中声明它
如果只需要通过这种方式设置几个按钮的样式,则可以将要直接应用的样式属性传递给每个视图,如下所示:
Button button = new Button(context, null, android.R.attr.borderlessButtonStyle);
ImageButton imageButton = new ImageButton(context, null, android.R.attr.borderlessButtonStyle);
此版本为要使用的窗口小部件提供了不同的默认样式属性.
标签:android,android-layout,imagebutton
来源: https://codeday.me/bug/20190711/1434600.html