问题标签 [layerdrawable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
321 浏览

android - 如何测量 LayerDrawable 的 setLayerInset 方法的参数

我正在使用打击代码,但不明白我应该在 setLayerInset 中设置什么参数。根据我的实验,我使用打击参数来设置可绘制对象并在此可绘制对象上绘制边框。问题是我现在面临的问题是我的布局正在重新调整大小。我在水平线性布局中有视图。当我单击并在图像上设置边框时,当我选择第二个图像时,布局将重新调整大小。奇怪的是它只发生一次(布局重新调整大小)。

我在绘制边框时,视图大小减少了 1,所以这可能是布局重新调整大小的原因。但为什么这只发生一次。如何摆脱它。

是否有任何技巧或公式来获取我们可以在“setLayerInset”方法中设置的参数。使原始图像大小不会波动。

在这段代码中,“drable”是我的“Drawable”对象,“drawableRes”是我在 xml 中设计的用于在所选视图上绘制边框的“形状”。

0 投票
2 回答
1472 浏览

android - 在 Android 2.3 .X (Gingerbread) 及更低版本上修改 LayerDrawable 层

我有以下内容LayerDrawable

我需要能够@+id/image_source从代码中动态替换图像。我成功地在 Honeycomb+ 设备上使用:

但是,这在 Gingerbread 设备上不起作用,因为 Gingerbread 设备(链接 1链接 2setDrawableByLayerId )不稳定。建议我从头开始构建。我开始这样做,目前面临设置第一层的问题。LayerDrawableintristicInset

我尝试使用

dpxx我自己计算的常数在哪里。但是,这种方法似乎也不适用于 Gingerbread(链接 1)。

因此,我决定尝试另一种方式 - 设置我在第一层设置的可绘制对象的重新角的边界:

完美,但是似乎LayerDrawable忽略了图层上的边界设置(链接 1

现在建议我使用两个图像视图的组合。但是我LayerDrawable是其中的一部分,LevelListDrawable我认为我不能在其中包含布局。

总而言之,这让我无法以LayerDrawable任何方式在蜂窝设备之前的设备上修改我的内容。任何关于我应该如何进行的建议都将不胜感激!

0 投票
1 回答
13026 浏览

android - 以编程方式更改图层列表内形状的颜色

我正在尝试以编程方式更改selectable_kachel_shape的颜色的颜色。这是xml文件:

kachel_ticked_style.xml

我在 Fragment 中调用以下代码

1.为什么我在shape.setColor中得到 NullPointerException中得到 NullPointerException ?

2.如何以编程方式更改形状内的颜色,即图层列表内的颜色?

0 投票
3 回答
6017 浏览

android - android shape xml以编程方式旋转可绘制更改颜色

这是三角形的 xml:

这是一个文本视图的背景

我想以编程方式更改形状的颜色。我试过这个,但我得到空指针异常

我怎样才能做到这一点?感谢帮助。

0 投票
1 回答
1485 浏览

android - 将 ColorFilter 应用于 LayerDrawable 内的 Drawable

我想为我的游戏同时显示两辆不同颜色的汽车(比如说红色和蓝色),为此我对两辆汽车使用相同的LayerDrawable(设置为图像资源ImageView):

问题是,当我想给汽车上色时,我会这样做:

但是当我为第二辆车(即与Color.BLUE)这样做时,两辆车都变成了蓝色!

我知道这是因为它引用了相同的资源(在这种情况下为 R.drawable.car_body),但我想知道是否有办法ColorFilter为每辆车应用不同的资源,例如在车身顶部插入另一层并相乘它还是什么?

0 投票
0 回答
105 浏览

android - LayerDrawable 在 ListView 中离开屏幕,当我将 ListView 滚动回它时不绘制

我有一个 ListView,当我的音频暂停时,我绘制一个 LayerDrawable 来显示播放量的进度。问题是当我将这个 ListView 元素从屏幕上移开并取回时 - 我看不到任何图像。

这是适配器的一部分:

所以,如您所见,几乎是常用的 getView 方法。但是当这个图像离开屏幕时 - 它永远不会回来。我该如何解决?

0 投票
0 回答
611 浏览

android - BitmapDrawable 在 LayerDrawable 中不能正确缩放

我正在开发二十一点游戏。我正在尝试使用 layerdrawable 显示玩家的手。但是,卡片图像无法正确缩放。它们太宽了。我把我的代码放在下面。基本上,我将一个 Bitmap 放入一个 BitmapDrawable 中,我将它设置为一个 LayerDrawable 到一个 ImageView 中,并且一旦我将它放入 LayerDrawable 中,BitmapDrawable 的尺寸似乎就损坏了。

我尝试将 adjustViewBounds 与设置最大宽度/高度、更改重力(使图像变小——当我加载图像时可能出现问题)配对并设置边界无济于事。

感谢您的任何帮助,您可以提供。

XML 布局文件:

first_hand.xml:

代码:

0 投票
1 回答
1161 浏览

android - 为什么动态创建的 SeekBar 不是我的颜色?

我必须在运行时创建具有主要和次要进度的 SeekBar。查看tileify 函数以了解我应该如何处理 LayerDrawable 和progress_horizo ​​ntal_holo_dark.xml 以获取正确的 ID,我想出了以下内容:

SeekBar 应该是这样的:

理想的

这是我的资源文件:

基本的-scrubber_primary_holo.9.png
中学-scrubber_secondary_holo.9.png

问题:

  • setProgressDrawable(layerDrawable) 无法按预期工作。我在 XML 代码中使用这个函数,但是如果我在运行时使用它,我会得到如下图所示的结果。

在此处输入图像描述

有任何想法吗?

0 投票
3 回答
2166 浏览

android - Android button.setBackground

我想为按钮设置背景。一切正常,Android 4.1.2但如果启动时Android 4.0出现错误

带代码

那么我怎样才能设置LayerDrawable背景但是Android 4.0更早呢?

0 投票
0 回答
888 浏览

android - item.getIcon() 始终为 NULL

我偶然发现了有关 ActionBar 上的应用内通知的本教程。

http://www.jmhend.me/layerdrawable-menuitems

在此日志中提到的行上调用 item.getIcon() 时,我得到的只是 android.graphics.drawable.LayerDrawable 内的 NullPointer:http: //pastebin.com/udKPtUzB

我认为这可能与 Android API 版本有关,但我找不到解决方案,因为我无法弄清楚返回“null”的内容。

我应该提到这不会在应用程序启动时发生。仅当我尝试更新可绘制对象以显示计数时才会发生这种情况。

我来发现这是由于item.getIcon()应该返回菜单项的 Drawable 。但它在运行时始终为空。(虽然不是启动)

现在是NPE if(item.getIcon()!=null)。该条件永远不会得到测试,因为 getIcon() 会导致 NPE,就像上面提到的 pastebin 日志中一样。

注意:经过 12 小时的测试,我可以肯定地说,每当我将 MenuItem 的 setIcon() 设置为 LayerDrawable 时,getIcon() 为空。如果我将 setIcon() 设置为任何其他类型的可绘制对象,系统将记住 MenuItem 的可绘制对象并且 getIcon 不为空。我很困惑...