首先,我使用support-library v7的AppCompat实现了这一点,而不是原生3.0 +。
简短形式:什么样式/代码/监听器/等。我可以调用单击我的ActionView看起来像一个普通的旧ActionButton?
背景:
我正在建立一个购物应用程序并决定实施一个购物车" Action Bar中的图标使用复合ImageView + TextView方法。图像显示了一个购物车,其上方叠加的文字显示了购物车中有多少商品。由于购物车内容计数动态变化,我无法使用标准的ActionButton / icon。
然而,与ActionView的演示用法不同,例如: (http://developer.android.com/guide/topics/ui/actionbar.html#ActionView)涉及ProgressBar或SearchView,我真的希望将此ActionView视为另一个ActionButton。
我知道我可以添加一个自定义点击监听器并刷新ActionView以响应点击,但我正在寻找最佳做法,让点击体验的外观和感觉就像点击常规ActionButton' s 。例如,在我的设备上,在ActionButton上手指向下突出显示背景为蓝色,并保持蓝色直到向上;但是我不确定设备之间的颜色是否相同,或者将来是否会发生变化等等。
我尝试过设置
style="@style/Widget.AppCompat.Light.ActionButton"
在我的ActionView的自定义@layout文件的根RelativeLayout中,但是没有做任何事情。
答案 0 :(得分:3)
主要感谢@ DaveClemmer在ImageButton doesn't highlight on click with Transparent background
中的回答我发现了一个简单的编辑。在我的ActionView的@layout文件的根RelativeLayout中,我刚刚添加了:
android:background="?attr/selectableItemBackground"
android:clickable="true"
(我离开了attr线因为我正在使用支持库v7,ala(android - apply selectableItemBackground in xml with support v7))