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

如何创建没有边框的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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值