当前位置: 首页 > 知识库问答 >
问题:

Android操作栏 - 动作视图 - 设置默认点击动画

庄子平
2023-03-14

首先,我使用支持库 v7 的 AppCompat 而不是本机 3.0 来实现此目的。

缩写形式:什么风格/代码/听众/等等。我可以调用使ActionView上的单击看起来像一个普通的旧ActionButton吗?

背景:

我正在构建一个购物应用程序,并决定使用复合ImageView TextView方法在操作栏中实现一个“购物车”图标。该图像显示了一个购物车,覆盖在其上的文本显示了购物车中有多少商品。因为购物车内容计数是动态变化的,所以我不能使用标准的ActionButton / icon。

但是,与操作视图的演示用法不同,例如(http://developer.android.com/guide/topics/ui/actionbar.html#ActionView)涉及进度栏或搜索视图的演示,我真的希望像对待另一个操作按钮一样处理此操作视图。

我知道我可以添加一个自定义的点击监听器,并刷新ActionView来响应点击,但我在寻找最佳实践,让点击体验看起来和感觉起来就像点击常规的ActionButton。例如,在我的设备上,手指向下按一个动作按钮,背景就会变成蓝色,并且一直保持蓝色直到向上按;但是我不确定这种颜色在不同的设备上是否是一样的,或者将来是否会改变,等等。

我试着设定

style="@style/Widget.AppCompat.Light.ActionButton"

在我的ActionView的自定义@布局文件的根RelativeLayout中,但这没有做任何事情。

共有1个答案

长孙淳
2023-03-14

很大程度上要感谢@DaveClemmer在ImageButton中的回答,在透明背景下点击时不会高亮显示

我找到了一个简单的编辑。在我的ActionView的@布局文件的根RelativeLayout中,我刚刚添加了:

android:background="?attr/selectableItemBackground"
android:clickable="true"

(我没有使用attr行,因为我使用了支持库v7,ala(android-使用xml应用selectableItemBackground,支持v7))

 类似资料:
  • 我在Google IO repo中使用了以下代码:https://github.com/google/iosched/blob/master/android/src/main/java/com/google/samples/apps/iosched/ui/BaseActivity.java 我试图在向上滚动时隐藏工具栏,它工作得很好,但我的问题是,当工具栏在屏幕外动画时,我的主要内容保持不变。 在

  • 本文向大家介绍Go语言设置JSON的默认值操作,包括了Go语言设置JSON的默认值操作的使用技巧和注意事项,需要的朋友参考一下 给需要设置的JSON字段初试化你想设置的值就OK。 比如我想让[]string类型的字段的默认值是[],而不是nil,那我就make([]string, 0)赋值给该字段。 转成JSON输出后,就是[]。 1. 示例代码 这是没有初始化的代码。默认值是nil。 示例结果如

  • 需要在“拆分”模式下使用底部操作栏中的文本创建按钮。 以下是来自Sherlock示例的代码: 这就是Galaxy S3分辨率的it操作栏在横向方向上的外观(正如您看到的“搜索”项目显示为文本和图标): 现在,旋转到纵向,执行事项下降,“搜索”文本不可见,但显然有足够的空间: 请注意,如果有足够的空间,我如何强制Sherlock显示文本?

  • 移动语义可以说是C++11最主要的特性。你可能会见过这些类似的描述“移动容器和拷贝指针一样开销小”, “拷贝临时对象现在如此高效,编码避免这种情况简直就是过早优化”这种情绪很容易理解。移动语义确实是这样重要的特性。它不仅允许编译器使用开销小的移动操作代替大开销的复制操作,而且默认这么做。以C++98的代码为基础,使用C++11重新编译你的代码,然后,哇,你的软件运行的更快了。 移动语义确实令人振奋

  • 问题内容: 我需要以类似方式( 示例 )设置Android操作栏的样式。我知道这是iOS版本,不适合Android准则,但这是我的任务。我也知道我不能更改状态栏的颜色,我的目标只是样式操作栏。对于任何提示,我将不胜感激。 问题答案: 如果要更改ActionBar,请创建自定义选项之一。 首先 根据您的自定义ActionBar外观创建一个XML布局。在此确保将ID添加到容器布局(线性布局)。在后续步

  • 引入 import { createApp } from 'vue'; import { ActionBar, ActionBarIcon, ActionBarButton } from 'vant'; const app = createApp(); app.use(ActionBar); app.use(ActionBarIcon); app.use(ActionBarButton); 代