【问题标题】:How do I get action buttons with custom layouts to be styled like standard action buttons in Android 3.0+如何获得具有自定义布局的操作按钮,使其样式类似于 Android 3.0+ 中的标准操作按钮
【发布时间】:2011-11-02 12:27:48
【问题描述】:

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

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

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

style="@android:style/Widget.ActionButton"

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

android:background="?android:attr/actionBarItemBackground"

但无济于事,我是在相当随机地尝试一些事情,因为我找不到任何关于如何做到这一点的文档(或者如果确实有可能的话)。

我知道我可以自己通过设置背景来近似这种行为,但如果我可以将项目设置为在用户与其交互时的显示方式上表现得像一个正常的操作按钮,那就太好了。

有人有什么想法吗?

提前致谢!

【问题讨论】:

    标签: android android-layout android-ui android-actionbar


    【解决方案1】:

    啊,很抱歉回答我自己的问题,但我偶然发现了一种方法来做到这一点。我已经完成了一半 - 您需要从 ActionButton 继承自定义布局的样式:

    @android:style/Widget.ActionButton
    

    但您还需要使布局可点击:

    android:clickable="true"
    

    让它工作。使用这两种方法会使自定义操作按钮在您按下它们时看起来就像普通按钮一样。

    希望这会帮助尝试这样做的人!

    【讨论】:

    • 你在哪里包括这个:@android:style/Widget.ActionButton
    • <YourLayout ... style="@android:style/Widget.ActionButton"> ... <YourLayout/>
    • 为什么在程序上使用它对我不起作用?我试过这个: ImageView syncImageView = new ImageView(getActivity(), null, android.R.style.Widget_ActionButton); .我还尝试使其可点击,并将操作项的视图设置为我创建的视图: ...setActionView(...) 。
    猜你喜欢
    • 2020-03-13
    • 2013-02-23
    • 1970-01-01
    • 2012-11-08
    • 2015-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    相关资源
    最近更新 更多