Articles of 可绘制

在Android中的Drawable上应用animation

我为徽标添加了发光animation效果。 到目前为止,我已经设法使用LayeredDrawable获得徽标背后的辉光图像,但我无法弄清楚如何为其设置animation效果。 我发现AlphaAnimation会达到预期的效果,但不幸的是,我只能将它应用于Views,而不是Drawables。 我怎样才能达到这个效果?

图库/ AdapterView儿童可绘制状态

我正在使用一个图库视图,其中对应于每个项目的视图是非平凡的,由文本以及多个button组成。 当我点击拖动图库视图(不在其中一个button上的某个地方)时,button的可绘制状态改变为按下,并且好像当前所有button都被按下了一样。 此外,所选状态也会发生相同的行为(例如,子视图的所有文本都会改变颜色)。 我试图阻止这种行为,并find了android:duplicateParentState xml属性以及setDuplicateParentStateEnabled属性。 这似乎应该完成我想要做的,但似乎没有效果。 有任何想法吗?

从DefaultHandler中获取Drawable资源

我有我的主要活动工作的以下代码,但我有一个扩展的DefaultHandler类,并希望能够访问一些资源。 我如何得到以下工作? Drawable newMarker = this.getResources().getDrawable(R.drawable.generic2r);

Android:最简单的方法来改变一个PNG文件的颜色

我正在写一个基本精灵(一个气球)的游戏 – 目前我有两个不同的彩色气球PNG文件,我已经创build了,我需要创build更多(可能是另外5个左右),不想有像7个不同的PNG文件。 (这将是20个额外的文件,因为我有4个不同大小的缩放目的)我宁愿坚持1 – 我目前有黄色和红色(几乎坚实,但不完全 – 他们有他们的细节)。 问题 – 有没有简单的方法来改变我现有的PNG文件的颜色? 我见过有人提到setColor和setColorFilter但我不能解决如何使用这些。 也将这些甚至工作在PNG文件已经有一个颜色,或者他们只工作在白色PNG文件(我不认为我的PNG可以实际上只是白色)? 谢谢大家的任何帮助,将不胜感激。

Android径向渐变

我有以下可绘制设置为LinearLayout背景: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:tileMode="repeat" android:dither="true" android:src="@drawable/bg"/> </item> <item> <shape android:shape="rectangle"> <gradient android:startColor="#ffff0000" android:endColor="#ff00ff00" android:centerX="50%" android:centerY="50%" android:gradientRadius="50%" android:type="radial"/> </shape> </item> </layer-list> 根据文档 ,gradientRadius可以设置为窗口/父级大小的百分比。 不幸…它不工作。 半径是0.我做错了什么? 或者Android有什么问题? 我需要径向渐变填充整个屏幕。 什么是解决方法?

播放服务7.5.0后无法在Manifest中使用android:icon =“@ mipmap / ic_launcher”

我最近更新使用依赖项的播放服务 compile 'com.google.android.gms:play-services:7.5.0' 我的应用程序图标启动器在@mipmap/ic_launcher"但这是AndroidManifest.xml显示错误。我应该再次将此图标放在drawable吗? 帮我找出解决办法。 更新:这里是来自Android工作室的消息 Error:(17, 9) Execution failed for task ':app:processDebugManifest'. > Manifest merger failed : Attribute application@icon value=(@mipmap/ic_launcher) from AndroidManifest.xml:17:9 is also present at com.pnikosis:materialish-progress:1.0:13:9 value=(@drawable/ic_launcher) Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:14:5 to override Error:(17, 9) Attribute application@icon value=(@mipmap/ic_launcher) from AndroidManifest.xml:17:9 D:\3cworkspace\PeakPerformance\app\src\main\AndroidManifest.xml

有可能有一个animation可绘制?

是否有可能创build一个具有某种animation的drawable,无论是逐帧animation,旋转等等,它被定义为一个xml drawable,并且可以用一个Drawable对象表示而不必处理animation在代码中? 我如何使用它:我有一个列表,列表中的每个项目可能在某个时候发生了一些事情。 当它发生时,我想要有一个类似于不确定ProgressBar的旋转进度animation。 因为在屏幕上也可能有几个我认为如果他们都共享相同的Drawable,他们只需要在内存中的一个实例,他们的animation将被同步,所以你不会有一堆旋转的对象在不同的​​点在旋转的animation。 我并不重视这种方法。 我只是试图想到最有效的方式来显示几个旋转的进度animation,理想的是他们同步在一起,所以他们在外观上是一致的。 谢谢 为了回应Sybiam的回答: 我已经尝试实现一个RotateDrawable,但它不旋转。 这是我迄今为止绘制的xml: <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/my_drawable_to_rotate" android:fromDegrees="0" android:toDegrees="360" android:pivotX="50%" android:pivotY="50%" android:duration="800" android:visible="true" /> 我曾尝试使用该drawable作为ImageView的src和背景,并且两种方式都只生成一个不旋转的图像。 有什么必须开始图像旋转?

在文件夹中被其他人replace之后,Drawables不会改变

我为我的一个应用程序创build了一个新的主题,并决定我不再需要旧的主题。 所以,我把我的新图像文件复制到旧的,replace所有的。 我为我所有的drawables文件夹做了这个。 然后我重新创buildR.java以防万一,并重build我的应用程序。 出于某种原因,它正在拾取旧图像并显示这些图像。 好吧,我想,必须是内存/caching中的东西。 我只是擦拭我的模拟器图像,然后再试一次。 这样做后,应用程序仍然使用旧的图片。 我以为我一定犯了一个错误,并检查了Eclipse中的图像,但是它显示了那里的新图像。 然后,我采取了激烈的事情,并删除drawables文件夹。 当然这导致我的项目变得exception,所以我很快添加了所需的新图片并重build项目。 没有错误出现,所有的图片在Eclipse中都出现了变化。 但是,当运行应用程序,旧照片仍然显示。 除了在应用程序的某些部分。 在我使用的70张左右的照片中,只有2张正在显示新版本。 所有其他的仍然显示旧照片。 这里可能会发生什么? 我尝试重新启动我的模拟器,重新刷新项目,创build一个新的项目,使用旧的源代码,重新启动我的手机,在安装应用程序之前擦除所有的应用程序数据,删除所有的图像,并用新的replace,但似乎没有工作。 包含新图像的应用程序如何在全新的模拟器上运行,仍然能够显示至less在一小时前被删除的图像?

如果为ldpi,mdpi,hdpi,xhdpi提供可绘制的资源,这个drawable不需要提供nodpi吗?

我是否正确理解这一点: 所有的Android设备都属于这四个密度桶之一:ldpi,mdpi,hdpi,xhdpi。 因此,如果为这些密度中的每一个提供可绘制的资源(在这些文件夹中的每个文件夹中都存在可绘制的或相同的名称),则不必在/ res / drawable中提供具有相同名称的绘图或/ RES /抽拉-nodpi。 我的说法正确吗? 所以,如果在Android OS中定义一个新的密度桶,那么为什么在/ res / drawable中提供相同的资源是为了使应用程序更具前瞻性?

从存储在可绘制文件夹中的位图获取位图信息

我想读取一个位于我的可绘制文件夹中的位图,并将其存储为位图variables,以便我可以将其设置为背景。 最好的方法是使用“文件阅读器”吗? 喜欢 Bitmap decodeFile (String pathName) method 或者有没有办法像这样设置它: Bitmap bmp = R.drawable."bitmapFileName"; (我试过这个,但返回一个int,只是想知道我是否在正确的轨道上) 任何帮助将是伟大的:)