如何将自定义布局的动作按钮设置为类似Android 3.0+中的标准操作按钮

kin*_*aam 4 android android-ui android-layout android-actionbar

我在蜂窝+操作栏中使用自定义操作按钮时遇到了一些麻烦.我正在添加一个使用自定义布局的菜单项(使用android:actionLayout属性).自定义布局的原因是我想要一个具有两行文本的按钮,可以动态更新.

但是,我仍然希望此操作按钮像其他标准按钮一样操作.我的意思是,当按钮被选中时,背景渐渐淡出,如果未被选中,则会再次淡出,所有这些都是平台的风格(不同平台/设备之间的颜色似乎不同 - 我看到灰色和蓝色版本)

我尝试使用自定义布局的操作按钮样式:

style="@android:style/Widget.ActionButton"
Run Code Online (Sandbox Code Playgroud)

我已经尝试将自定义布局的背景设置为:

android:background="?android:attr/actionBarItemBackground"
Run Code Online (Sandbox Code Playgroud)

但无济于事,我有点随意地尝试,因为我找不到任何关于如何做到这一点的文件(或者甚至可能确实如此).

我知道我可以通过设置背景来自己估计这种行为,但是如果我可以将项目设置为在用户与其交互时的显示方式上表现得像普通操作按钮那样会很好.

有人有主意吗?

提前致谢!

kin*_*aam 14

啊,很抱歉回答我自己的问题,但我偶然发现了这样做的方法.我在那里 - 你需要自定义布局的样式来继承ActionButton:

@android:style/Widget.ActionButton
Run Code Online (Sandbox Code Playgroud)

但是你还需要使布局可点击:

android:clickable="true"
Run Code Online (Sandbox Code Playgroud)

它的工作原理.使用这两种方法可以使自定义操作按钮在按下时看起来与常规操作按钮类似.

希望这有助于有人试图这样做!