jjzjj

layerdrawable

全部标签

android - 如何将 LayerDrawable 转换为位图?

我正在使用适用于Android的通用图像加载器(这里是link)我需要从URL加载图像并将其覆盖到另一个图像。默认情况下图书馆不能这样做,所以我试着改变它。问题是现在我需要将LayerDrawable转换为位图。我该怎么做? 最佳答案 只需在由位图支持的Canvas上绘制即可。intwidth=drawable.getIntrinsicWidth();intheight=drawable.getIntrinsicHeight();Bitmapbitmap=Bitmap.createBitmap(width,height,Config

android - 绘制包含 InsetDrawable 的层时意外的 LayerDrawable 行为

我正在尝试在xml中构建一个LayerDrawable,其中上层有时会完全遮盖下层。为了使下层更小,我使用InsetDrawable包裹另一个可绘制对象,使其小于View的完整尺寸。然而,我出乎意料地发现,放置在包含插图的图层顶部的任何图层也应用了插图。我找不到支持此行为的文档,并且很困惑为什么会这样。在下面的示例中,我制作了一个包含3层的LayerDrawable。底层和顶层包含椭圆形的可绘制对象,旨在占据整个View。中间层是InsetDrawable内部的矩形可绘制对象。代码如下:在我的View中调用setBackgroundDrawable(getResources().get

android - 以编程方式绘制 LayerDrawable

因为我的应用程序的颜色主题是动态的,所以我只能使用颜色和形状绘制来创建背景绘制,我想构建一个可绘制的带有颜色和形状的edittext背景,如下所示。但我想以编程方式执行此操作如何以编程方式构建相同的可绘制对象?这是我试过的....GradientDrawableborder=newGradientDrawable();border.setShape(GradientDrawable.RECTANGLE);border.setColor(Color.WHITE);GradientDrawablebackground=newGradientDrawable();background.set

android - RatingBar 自定义 Vector Drawables 叠加

Android中的RatingBar令人沮丧。我关注了https://stackoverflow.com/a/13107765用我自己的drawable实现一个自定义评分栏,但是所有的星星只是相互叠加,所以最终只显示一个星星。我一辈子都想不通为什么。编辑:PNG可绘制对象似乎工作正常,但是用作矢量可绘制对象的SVG会导致此问题 最佳答案 这是一个临时修复,直到他们在支持库中查看它(我也把它放在gisthttps://gist.github.com/harrane/815e8a94d7ca75d964714228af69c60c中)p

android - RatingBar 自定义 Vector Drawables 叠加

Android中的RatingBar令人沮丧。我关注了https://stackoverflow.com/a/13107765用我自己的drawable实现一个自定义评分栏,但是所有的星星只是相互叠加,所以最终只显示一个星星。我一辈子都想不通为什么。编辑:PNG可绘制对象似乎工作正常,但是用作矢量可绘制对象的SVG会导致此问题 最佳答案 这是一个临时修复,直到他们在支持库中查看它(我也把它放在gisthttps://gist.github.com/harrane/815e8a94d7ca75d964714228af69c60c中)p

java - Android:将 Drawable 添加到现有的 LayerDrawable

我有一个LayerDrawable,我用一个包含5个Drawable的Drawable数组构造它。现在假设在运行时我想添加另一个Drawable到我的LayerDrawable,以响应一个事件。我如何做到这一点而不必重新创建LayerDrawable,这次使用6个Drawable的Drawable数组?谢谢。 最佳答案 LayerDrawable创建后,不能再添加新的Drawable参见sourceofLayerDrawable:可绘制对象数组保存在mLayerState.mChildren中,并且仅在Constructor中设置。

android - LayerDrawable 以相同大小绘制可绘制对象?

您好,我正在尝试绘制两个不同大小的图标,其中一个图标只是背景边框类型,另一个图标是符号。当我绘制两者时,符号图标的大小会调整得更大,以适应与背景图标相同的大小。这是我的代码drawableSelectedIcons[0]=r.getDrawable(R.drawable.background);drawableSelectedIcons[1]=r.getDrawable((R.drawable.symbol);LayerDrawablelayerDrawableSelected=newLayerDrawable(drawableSelectedIcons);

Android LayerDrawable.setDrawableByLayerId 不适用于 HTC Sensation(和其他?)

我正在使用LayerDrawable在底层图像(索引0)上建立一系列热点(索引1+)。热点是根据用户界面交互添加的,它们的位置是动态的,所以我以编程方式而不是使用XML来完成所有这些工作。作为进一步的(可能不相关的)细节,我使用fragment来保存LayerDrawable,因为这是在FragmentStatePagerAdapter和ViewPager的上下文中。问题是,当我尝试通过调用setDrawableByLayerId更改LayerDrawable中的Drawable来更新图像时,图像不会改变(尽管方法返回true,表明它找到了图层)。我怎样才能让它工作?

android - 无法再转换为 LayerDrawable(升级 v7 后)

我使用的是支持库的最新版本22.1.1。我以前是这样的:mRatingBar=(RatingBar)getActivity().findViewById(R.id.rating);LayerDrawablelayer=(LayerDrawable)mRatingBar.getProgressDrawable();但在升级后它在第2行崩溃并出现ClassCastException:android.support.v4.graphics.drawable.DrawableWrapperHoneycombcannotbecasttoandroid.graphics.drawable.Laye

android - 如何从动态创建的(Java 中)layer-list/LayerDrawable 获取 Android 资源 ID?

此问答帖中的“解决方案#2(动态)”:overlaytwoimagesinandroidtosetanimageview非常接近我想要做的,即动态创建一个图层列表(对于状态栏通知图标,我想在图层中构建我的图标),但是通知API中的图标分配需要资源ID(我想从服务中调用)。如果不构建数百个层列表.xml文件(对于我希望能够显示的各种图标组合),我不知道如何构建动态构建层列表。Daniel的“解决方案#1”非常适用于静态.xml文件,但我正在寻找更优雅的动态解决方案。在上面的帖子中,代码fragment:Resourcesr=getResources();Drawable[]layers=