Android TV:VerticalGridFragment 阴影尺寸和颜色

2023-12-20

我正在开发一个 Android TV 应用程序,但我对由VerticalGridFragment,我想要它更小,颜色更暗一些。

我搜索了代码,但没有找到任何完整的工作解决方案。 在我的VerticalGridPresenter子类,我可以重写的唯一方法是createShadowOverlayOptions但我无法得到我想要的结果。

我想出的唯一解决方法是定义以下维度,以便覆盖支持库中声明的维度:

<dimen name="lb_material_shadow_details_z">3dp</dimen>
<dimen name="lb_material_shadow_focused_z">4dp</dimen>
<dimen name="lb_material_shadow_normal_z">3dp</dimen>

但这更多的是一种黑客行为,而不是一个正确的解决方案。

这是标准阴影:

这是我通过当前的 hack 得到的结果:

正如你所看到的,它更小,但我无法改变颜色。

有没有正确的方法来设置阴影颜色和尺寸VerticalGridFragment and RowsFragment课程?

我正在使用最新的 Leanback 版本:

compile 'com.android.support:leanback-v17:25.2.0'

My minSdkVersion由于自定义的 Android TV 播放器,所以是 17,但从 21 开始就可以正常工作。


事实上,我之前曾向 Leanback 团队询问过这个问题,他们说定制组件的推荐方法是覆盖样式和尺寸。所以这可能有助于减轻您的一些担忧。

然而,我们还必须自定义视图上的阴影。我们通过创建我们自己的视图和我们自己的视图呈现器来做到这一点(而不是使用他们的ImageCardView)。这样我们就可以在演示级别设置我们自己的阴影。

如果您查看文档ListRowPresenter https://developer.android.com/reference/android/support/v17/leanback/widget/ListRowPresenter.html文档说:

ListRowPresenter 将默认阴影应用于每个子视图。调用 setShadowEnabled(boolean) 禁用阴影。子类可以重写 isUsingDefaultShadow() 并返回 false,并用它自己的影子实现替换。

要了解更多关于它们如何处理阴影的信息,请查看源代码ListRowPresenter并查看ShadowHelper and ShadowHelperApi21类来了解他们如何实现向列表项添加阴影。实际上,我们只是复制了这两个类,因为它们是包本地的。

您还可以覆盖ShadowOverlayHelper.Options createShadowOverlayOptions() in ListRowPresenter这使您能够更改角半径以及聚焦和未聚焦的 z 值。

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

Android TV:VerticalGridFragment 阴影尺寸和颜色 的相关文章

  • 使用 SkiaSharp 在 Xamarin 中加载 SVG 文件

    从版本 1 55 0 开始 SkiaSharp 支持读取 SVG 文件 该软件包已于几天前发布 2016 年 11 月 10 日 但我找不到足够的有关如何使用它的文档 需要以下包 SkiaSharp 1 55 0 SkiaSharp 视图和
  • 数据未正确加载到 Firebase 应用程序中

    我在 android studio 上使用 firebase 创建了一个应用程序 使用移动 otp 进行身份验证后会出现一个搜索视图 当用户在搜索视图上搜索时 它将过滤结果并转到回收器视图等 第一次启动活动 即身份验证后的家庭活动 应用程序
  • 我们应该为 Android L Material 主题进行设计吗?

    我刚刚开始为 Android L Material 主题设计我的应用程序 我知道我们必须首先检查我们现有的应用程序是否可以与 ART 新的 WebView 等一起正常工作 但更进一步 我希望我的应用程序在 Android L 正式发布时做好
  • 插入耳机时有什么方法可以强制音频通过扬声器吗?

    我已经尝试过推荐的 setSpeakerphoneOn true 以及不推荐的 AudioSystem setForceUse AudioSystem FOR MEDIA AudioSystem FORCE SPEAKER 但两者都不起作用
  • 应用示例,使用Android备份服务

    您知道任何 Android 应用程序 开源 如果可能的话 它使用安卓备份服务 http developer android com guide topics data backup html 我需要有关如何在实际应用程序中使用备份服务的示例
  • 是否可以仅使用一个实例来创建片段

    我只是想知道 片段创建只能有一个实例或单例吗 我经历了谷歌iosched项目也 他们只是简单地创造 Fragment a new Fragment 每当他们想要 假设例如 public static FragmentManager inst
  • 使用自定义 cordova 插件未找到类异常

    我正在开发一个打印应用程序 它使用自定义 API 通过 USB 访问打印机 因此我需要一个自定义 Cordova 插件 我开始开发它 这是一个非常好的挑战 但目前也非常令人沮丧 因为我不明白为什么我的插件不能正确使用 事情是 1 插件安装正
  • Android蓝牙权限问题

    首先 抱歉我的英语不好 我是西班牙人 并且是 Android 开发的新手 我正在开发一个简单的蓝牙文件发送器 我基于BluetoothChat android示例一步一步 现在我向用户发出蓝牙激活请求 并选择是或否选项应用程序崩溃 我拥有清
  • Android 版 Qt 和 BoringSSL

    我正在开发一个基于 Qt 的 Android 应用程序 它使用 QSslSocket 下载数据 由于 Android 从 OpenSSL 转向 BoringSSL 因为依赖 OpenSSL 库的 Marshmallow Qt 程序在 And
  • 将现有数据库放置在我的项目中的何处

    我想在基于 Android Android Studio 的项目中使用现有的 sqlite 数据库 我在 Google 上进行了搜索 有人建议将其放在 资产 文件夹中 但是在项目结构中没有这样的文件夹 项目中的文件夹结构如下 res 可绘制
  • 如何使用 Eclipse 从我的设备检索我的应用程序的沙箱?

    我有一个 Android 应用程序 它使用共享首选项 我使用 Eclipse 在 Android 设备中运行该应用程序 我想拉整个sandbox来自设备到桌面这样我就可以手动查看sharedPreferences的内容 我点击了DDMS并点
  • 单击任何 EditText 时屏幕向上滚动

    我有一个屏幕 有 4 个编辑文本 如菜单名称 菜肴名称 标签和价格 我需要在单击它时将我的标签 Edittext 设置为顶部 56dip 现在一切正常 当我单击标签 EditText 时 它会像我想要的那样向上移动 我卡在哪里 向上移动布局
  • 发布包含下划线 (_) 的 url

    我发布的 url 参数包含下划线 sample http sdsdsds asasasahjhd com dsdsdsd login json 我这样发布 HttpClient httpclient new DefaultHttpClien
  • 如何在 Android 上重复使用 AlertDialog 来表示是/否?

    我正在尝试找到重用显示自定义标题的对话框的方法 然后将 是 否 单击发送到启动该对话框的函数 我有两个按钮 保存 和 关闭 两者都调用 是 否 对话框 一个显示 您要保存 另一个显示 关闭更改吗 我认为我的程序非常 脏 但我想它可以工作 但
  • 对于 2.3.4 上文件路径设置的铃声,MediaPlayer setDataSource 失败,状态 = 0x80000000

    标题说明了大部分内容 我的应用程序一直在播放 uri 指向的铃声 例如content media internal audio media 387 or content media external audio media 1655 我相信
  • 小部件双击

    我有一个小部件 AppWidgetProvider 我想知道是否有办法支持多次点击 示例 1 如果是第一次点击widget 那么widget的ImageButton会发生变化 例如 改变颜色 2 如果是第二次 则打开一个Activity A
  • JSch:如何使用 ssh 密钥 ssh 到服务器

    我想从另一个 ssh 服务器后面 ssh 进入服务器 网关服务器需要用户名 密码 我可以做到这一点 我正在使用隧道进入下一台服务器 但这需要only一个 ssh 密钥 我已经通过 PuTTY 生成了密钥 因此它存在于我的用户名中 但我不确定
  • Android 自定义相机 - 在矩形内裁剪图像

    我有一个自定义相机应用程序 它有一个居中的矩形视图 如下所示 当我拍照时 我想忽略矩形之外的所有内容 该视图与我的 XML 视图中的 Camera Preview 或 SurfaceView 没有任何联系 如下所示
  • 如何禁用 Google 请求许可定期检查手机上已安装的应用程序?

    我正在开发一个 Android 应用程序 因此我不断地在我的测试设备上构建和安装该应用程序 几天以来 我在每次构建 安装时都会提出一个问题 Google 可能会定期检查已安装的应用程序是否存在潜在危害 行为 在 Google 设置 gt 验
  • 解析 onPushOpen 从未被调用

    我已经使用解析实现了推送 将参数添加到清单文件中

随机推荐