Questions tagged «android-drawable»

在Android中,Drawable是“可以绘制的东西”的通用抽象。



15
如何在Android XML可绘制文件中定义圆形?
我在查找Android版XML中的形状定义文档时遇到一些问题。我想在XML文件中定义一个用纯色填充的简单圆圈,以将其包含到布局文件中。 遗憾的是,android.com上的文档未涵盖Shape类的XML属性。我想我应该使用ArcShape画一个圆,但是没有设置如何设置从圆弧中画出圆所需的大小,颜色或角度的说明。

11
图标的Mipmap可绘制对象
从Android 4.3(Jelly Bean)开始,我们现在可以使用res/mipmap文件夹来存储“ mipmap”图像。 例如,Chrome for Android将其图标存储在这些文件夹中,而不是更普通的res/drawable文件夹中。 这些mipmap图像与其他熟悉的可绘制图像有何不同? 我在清单中看到,我们使用@mipmap/限定符而不是@drawable/,这在给定资源文件夹名称的情况下是有意义的: <activity android:name=".MipmapDemp" android:icon="@mipmap/ic_launcher" /> 参考文献: 将采用Android 4.3的API文档具有以下的说: 使用mipmap作为位图或可绘制对象的源是提供高质量图像和各种图像比例的一种简单方法,如果您希望在动画过程中对图像进行比例缩放,则该方法特别有用。 Android 4.2(API级别17)在Bitmap类中添加了对mipmap的支持-当您提供了mipmap源并启用了setHasMipMap()时,Android会在Bitmap中交换mip图像。现在,在Android 4.3中,您还可以通过提供mipmap资源并在位图资源文件中设置android:mipMap属性或调用hasMipMap()来为BitmapDrawable对象启用mipmap。 我看不到任何可以帮助我理解的东西。 XML位图资源具有一个android:mipMap属性: 布尔值。启用或禁用mipmap提示。有关更多信息,请参见setHasMipMap()。默认值为false。 据我所知,这不适用于启动器图标。 这个问题是在Google网上论坛上提出的(资源名称“ mipmap”的目的是?!),罗曼·盖伊回答说: 提供通常可以计算的较大分辨率的图像很有用(例如,在mdpi设备上,启动器可能希望较大的hdpi图标显示较大的应用程序快捷方式。) 我觉得这几乎是有道理的,但并非完全如此。 我仍然倾向于Randy Sugianto的后续行动: 这有什么好处?有没有指南如何使用mipmaps,可能是为了更好的启动器图标? 当然,Wikipedia上有一个“ Mipmap”页面,它引用的是1983年发明的一种较旧的技术,我不太了解当前的Android实现。 这些天我们是否应该将所有应用程序图标res/mipmap存储在文件夹中,这些mipmap图像的准则是什么? 更新#1 这是一篇博客文章,试图对此进行一些解释。 Android 4.3中可绘制对象的Mipmapping 但是该博客文章中使用的图像显示了看起来像一个文件的文件,其中包含许多徽标。这不是我在Chrome的mipmap文件夹中看到的内容。 Chrome的mipmap-hdpi文件夹包含三张图片。其中之一就是Chrome徽标。 奇怪的是,我希望看到的是72x72,而不是48x48。 也许这就是全部-我们只需要在mipmap文件夹中保留较大的图标? 更新#2 2014年10月23日的Android开发者博客文章再次确认了使用mipmap文件夹作为应用程序图标的想法: 为Nexus 6和Nexus 9准备好应用程序 在谈到Nexus 6屏幕密度时,作者写道: 最佳实践是将应用程序图标放置在mipmap-文件夹(而不是drawable-文件夹)中,因为它们的使用分辨率与设备的当前密度不同。例如,可以在启动器上为xxhdpi设备使用xxxhdpi应用程序图标。 …





7
在TextView中以编程方式设置左可绘制
我在xml中有一个textView。 <TextView android:id="@+id/bookTitle" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:drawableLeft="@drawable/checkmark" android:gravity="center_vertical" android:textStyle="bold" android:textSize="24dip" android:maxLines="1" android:ellipsize="end"/> 如您所见,我在xml中设置了DrawableLeft。 我想更改代码中的drawable。 无论如何要这样做吗?还是在代码中为文本视图设置drawableLeft?

21
如何在Android中更改Drawable的颜色?
我正在开发一个android应用程序,并且有一个可绘制的图像是从源图像加载的。在此图像上,我想将所有白色像素转换为另一种颜色,例如蓝色,然后缓存生成的Drawable对象,以便以后使用。 例如,假设我有一个20x20 PNG文件,中间有一个白色圆圈,圆圈之外的所有内容都是透明的。将白色圆圈变成蓝色并缓存结果的最佳方法是什么?如果我要使用该源图像创建几个新的Drawable(例如蓝色,红色,绿色,橙色等),答案是否会改变? 我猜想我会以某种方式使用ColorMatrix,但是我不确定如何使用。

5
标准的Android菜单图标,例如刷新[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 7年前关闭。 改善这个问题 Android SDK通过提供了标准菜单图标android.R.drawable.X。但是,ic_menu_refresh缺少一些标准图标,例如(刷新图标)android.R。 是否有任何方法可以获取原始图标,可能是从应用程序中提取它们?我已经检查了Android来源,但是它太大了,无法在任何地方查找图像。 我知道Android Drawables网站,但我想获得正确的hdpi,mdpi和ldpi版本,最好是原始版本。

11
调整“浮动操作”按钮(fab)的图标大小
新的浮动操作按钮应为56dp x 56dp,其内部的图标应为24dp x 24dp。因此,图标和按钮之间的间距应为16dp。 <ImageButton android:id="@+id/fab_add" android:layout_width="56dp" android:layout_height="56dp" android:layout_gravity="bottom|right" android:layout_marginBottom="16dp" android:layout_marginRight="16dp" android:background="@drawable/ripple_oval" android:elevation="8dp" android:src="@drawable/ic_add_black_48dp" /> 波纹_oval.xml <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:colorControlHighlight"> <item> <shape android:shape="oval"> <solid android:color="?android:colorAccent" /> </shape> </item> </ripple> 这就是我得到的结果: 我使用了\ material-design-icons-1.0.0 \ content \ drawable-hdpi \ ic_add_black_48dp.png https://github.com/google/material-design-icons/releases中的图标 /标记/1.0.1 如何使按钮内的图标大小完全符合准则中所述? http://www.google.com/design/spec/components/buttons.html#buttons-floating-action-button

15
使用XML可绘制的垂直线
我试图弄清楚如何定义一条垂直线(1dp粗)以用作可绘制对象。 要制作一个水平的,很简单: <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <stroke android:width="1dp" android:color="#0000FF"/> <size android:height="50dp" /> </shape> 问题是,如何使这条线垂直? 是的,有一些解决方法,例如绘制一个1px厚的矩形,但是如果可绘制XML由多个<item>元素组成,则会使XML复杂化。 有人有这个机会吗? 更新 案件仍未解决。但是,对于所有参加Android文档工作的人来说,您可能会发现这很有用: 缺少Android XML手册 更新 除了我标记为正确的方法外,我没有发现其他方法。它确实可以解决问题,但是感觉有点“沉重”,因此,如果您碰巧知道答案,别忘了分享;)


11
从矢量可绘制获取位图
在我的应用程序中,我必须为通知设置一个大图标。LargeIcon必须是位图,而我的可绘制对象是矢量图像(Android的新功能,请参阅此链接)问题是,当我尝试解码作为矢量图像的资源时,返回空值。 这是代码示例: if (BitmapFactory.decodeResource(arg0.getResources(), R.drawable.vector_menu_objectifs) == null) Log.d("ISNULL", "NULL"); else Log.d("ISNULL", "NOT NULL"); 在此示例中,当我用“正常”图像(例如png)替换R.drawable.vector_menu_objectifs时,结果不为null(我得到了正确的位图)是否缺少某些内容?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.