CardView 在 > API 21 上存在透明背景问题

2024-06-28

我正在构建一个具有透明背景的 CardView,并且在尝试将 cardBackgroundColor 设置为具有 alpha 通道的颜色时遇到了问题。

这是我尝试过的:

<android.support.v7.widget.CardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/list_view_btn"
    android:layout_width="@dimen/icon_size"
    android:layout_height="@dimen/icon_size"
    android:layout_gravity="bottom|start"
    android:layout_marginLeft="@dimen/activity_horizontal_margin"
    android:layout_marginStart="@dimen/activity_horizontal_margin"
    android:layout_marginBottom="@dimen/icon_bottom_margin"
    card_view:cardBackgroundColor="#66F9F9F9"
    card_view:cardCornerRadius="3dp"/>

结果是一个完全不透明的 CardView 按钮(但颜色为 F9F9F9 灰色,忽略 66 alpha 值)。因此,下一步是尝试以编程方式执行此操作:

mListBtn.setPreventCornerOverlap(false);
int baseColor = getResources().getColor(R.color.material_gray);
mListBtn.setCardBackgroundColor(Color.argb(50,
                Color.red(baseColor),
                Color.green(baseColor),
                Color.blue(baseColor)));

这是结果:

请注意,中心和边框之间有一个填充。 CardView 是空的,其中没有子视图,我尝试使用/不使用 setPreventCornerOverlap() 调用来查看这是否是问题所在......任何人都可以解释为什么这种情况发生在我身上吗?

1) 为什么带有cardBackgroundColor的CardView的XML定义忽略alpha着色

2)为什么以编程方式设置cardBackgroundColor会导致着色工作,但现在隐式添加了填充?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CardView 在 > API 21 上存在透明背景问题 的相关文章

  • Android GCM PushNotification - 在应用程序中添加添加自定义声音文件

    我成功收到 GCM 推送通知 现在我想添加自定义声音文件而不是默认声音 我尝试过Uri from 文件 res raw pop mp3 in 通知 DEFAULT SOUND 但没有成功 如果您有更好的解决方案请分享 My GCMInten
  • 将文件复制到资产文件夹

    经过 1 小时的搜索 我没有找到任何解决我的问题的方法 我想将文件从SD卡移动到资产文件夹 并覆盖资产文件夹中的现有文件 两个文件都是sqlite数据库 名称相同 数据略有不同 实际上 android apk 文件的行为是只读的 因此该 a
  • 点击 FCM 通知消息时如何获取消息正文?

    当应用程序在后台时 通知消息是通过Notification传递的 当点击通知时 应用程序启动 我如何获取消息正文 意图是这样的 Bundle google sent time 1470813025421 from 568540028909
  • PublishResult 内的 ConcurrentModificationException - ArrayAdapter

    我继承的一些源代码有时会在这一行抛出 ConcurrentModificationException for String c filteredList body Override protected void publishResults
  • Android Things - 创建相机预览会话失败,并且不显示预览

    我正在尝试部署 Android TensorFlow Lite 示例 特别是检测器活动 我已成功将其部署在平板电脑中 该应用程序运行良好 它能够检测对象 在其周围放置一个边界矩形 并带有标签和置信度 然后 我设置了 Raspberry Pi
  • 如何在android中将字符`\in`替换为新行

    我有一个 API 请求的服务器响应 如下所示 Success Your request has been sent n nWe ll inform you once it is done 我需要在 Snackbar 中显示此消息 我需要添加
  • Clang PCH 性能比标头差?

    我在源文件中包含一组标头 这些标头很少 从未更改 解析 重新解析使用标头的频繁更改的源文件 IDE 用例 需要太长时间 几秒钟 作为提高性能的一种方式 我想使用 Clang PCH 请注意 我正在 Android 上以发布模式 99 确定
  • MVP 项目中包结构的最佳实践

    我有一个使用 MVP 架构的 Android Studio 项目 对于这种风格的项目 建议的包结构是什么 我们可以做的 app screen name activityA presenterA interfaceA or activitie
  • 重启设备后,频繁发送短信就是开机时多发一次短信

    我经常发送短信 在重新启动设备时再次发送短信 同时我们也 打开 之后 它发送短信的时间间隔是正确的 但是当我们打开设备时 它会再次发送短信 public class BootCompletedIntentReceiver extends B
  • 将 timeout() 与 retryWhen() 结合起来

    我正在创建一个简单的应用程序 用于使用 RxAndroidBle 库连接蓝牙设备 干杯 大家干得好 我遇到的情况是 有时当我连接到设备时 我会收到状态为 133 的 Gatt 错误 我知道这可能会发生 所以我想做的就是在发生错误时重试所有操
  • 如何在 Android 设备上添加给定日期的日历事件?

    来自堆栈溢出问题如何在Android中添加日历事件 https stackoverflow com questions 3721963 how to add calendar events in android我开始知道如何添加日历事件 但
  • 对于 Android 开发,我可以在图像视图上使用 JPG 图像而不是 PNG 图像吗?

    这个问题的主要目的是了解考虑以下场景 在 Android 开发中选择 PNG 和 JPG 的最佳选择是什么 1 使用jpg图像作为背景是一个好的选择吗 2 与 png 相比 jpg 图像的加载时间会更长吗 3 与 png 相比 jpg 会花
  • startActivity 无法在 fcm 中的 onMessageReceived 内工作

    我知道有很多帖子讨论这个问题 我已经尝试了该线程上的几乎所有解决方案 但不幸的是这对我的情况不起作用 基本上 我想做的是 我想在之后立即开始一项活动onMessageReceived被调用而不发出通知 这是我的代码 override fun
  • Android + PhoneGap拦截URL(相当于iOS的shouldStartLoadWithRequest)

    我的 PhoneGap 包装的 本地托管的 Sencha Touch 应用程序会进行一些虚假的 URL 回调来与本机包装器进行通信 IE app callback do function a 在iOS中我实现了以下内容 BOOL webVi
  • 如果没有发生触摸事件,Android SurfaceView 会变慢

    我正在制作一款游戏 除了游戏循环之外一切都很顺利 我正在使用 SurfaceView 并绘制 2D Sprites 位图 目前游戏是一艘穿过小行星带的飞船 飞船停留在屏幕中央 手机向任一方向倾斜以移动小行星 小行星改变位置而不是玩家 当旧的
  • Android:如何使用“uses-library”?

    我的Android应用程序可以分为客户端UI层和API层 我想将它们部署为单独的 应用程序 以便可以重用 API 层 在 Eclipse 中 我将它们编写为 2 个独立的 Android 项目 在客户端 UI 项目中 我在其构建路径中声明
  • Android:在服务器端验证应用程序的完整性

    我正在编写一个通过 HTTPS 与服务器应用程序进行通信的 Android 应用程序 在服务器端 我必须绝对确定 Android 应用程序的完整性 这意味着服务器应用程序需要确保它与我开发的 Android 应用程序通信 而不是与重写的应用
  • PerformException:执行“单击”时出错

    当我运行 android espresso 测试时出现错误 com google android apps common testing ui espresso PerformException 在视图 id 为 上执行 单击 时出错 我的
  • 使用 Kotlin 在 Android 中渲染 PDF

    我已经在使用 Java 的 PDF 上看到了该线程 但找不到任何有关如何使用 Kotlin 执行此操作的信息 有什么方法或者我需要使用Java吗 在 Android 上使用 Java 渲染 PDF 文件 https stackoverflo
  • 将 compose 示例项目导入到 android studio 版本 4.2

    我正在尝试导入编写示例项目 https github com android compose samples 但我面临这个错误 Invalid injected android support version 202 7660 26 42

随机推荐