Articles of drawable

创建快捷方式:如何使用drawable作为Icon?

下面是我的代码,用于创建所选应用程序的快捷方式。 我真的没问题,应用程序工作得很好。 问题是我能够从我的应用程序创建一个带有ressource的快捷方式: intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this, R.drawable.icon)); 但我真的想要一个定制的drawable。 (Drawable myDrawable = …..) 我能怎么做? ResolveInfo launchable=adapter.getItem(position); final Intent shortcutIntent = new Intent(); ActivityInfo activity=launchable.activityInfo; ComponentName name=new ComponentName(activity.applicationInfo.packageName,activity.name); shortcutIntent.setComponent(name); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); final Intent intent = new Intent(); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); // Sets the custom shortcut’s title intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, launchable.loadLabel(pm)); // Set the custom shortcut icon intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this, R.drawable.icon)); // add […]

ListView项和状态选择器背景drawable的奇怪行为

使用StateListDrawable作为背景时,我有一些非常奇怪的ListView行为。 我试图按照这篇文章的答案,因为我没有让state_checked状态工作,但现在我的ListView变得疯狂。 当我单击某个项目时,它不会立即将颜色更改为选择器中的state_checked项目。 稍微点击一下后,许多视图将突然切换到state_checked背景。 它似乎是随机的。 这是我的状态选择器xml代码: 这是我的自定义视图实现可检查的.java类: public class Entry extends LinearLayout implements Checkable { public Entry(Context context) { super(context, null); // Inflate this view LayoutInflater temp = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); temp.inflate(R.layout.entry, this, true); initViews(); } private static final int[] CheckedStateSet = { android.R.attr.state_checked }; private void initViews() { this.setBackgroundResource(R.drawable.listview_row); } public boolean isChecked() { return _checked; […]

R.drawable无法解析图像

我已经检查了很多关于stackoverflow的问题,我似乎拥有所有正确的东西,但我的R.drawable不会检测到我的图像。 它位于/ res / drawable和所有其他文件夹中(mdpi,hdpi等) ShipImage = context.getResources().getDrawable(R.drawable.player); 这是我的R.java public static final class drawable { public static final int background=0x7f020000; public static final int buttons=0x7f020001; public static final int dead=0x7f020002; public static final int enemy=0x7f020003; public static final int ic_launcher=0x7f020004; public static final int play_btn=0x7f020005; public static final int player=0x7f020006; }

GradientDrawable类的innerRadiusRatio和thicknessRatio之间存在什么样的联系?

假设我们有一个内半径为R2且外半径为R1的环。 根据文件: Inner radius of the ring expressed as a ratio of the ring’s width.For instance, if innerRadiusRatio=9, then the inner radius equals the ring’s width divided by 9我理解这意味着innerRadiusRatio = 2*R1 / R2 。 关于thicknessRatio,有: Thickness of the ring expressed as a ratio of the ring’s width. For instance, if thicknessRatio=3, then the thickness equals […]

什么是Drawable.getConstantState用于?

我正在使用Drawable.getConstantState比较这里提到的两个drawable,但无法理解它的用途。 在文档中 ,它给出了 Return a Drawable.ConstantState instance that holds the shared state of this Drawable 哪个共享状态? 另外,Drawable.ConstantState is used by Drawables to store shared constant state and data between Drawables 所以我不明白这里的共享状态和存储的数据是什么? 它如何帮助比较drawables。

在iOS中有类似于Android的XML Drawables的东西吗?

我目前正在为我的公司创建一种“设计语言”,其中包括用于按钮,滑块等的自定义绘图。基本上我的想法是我希望Android和iOS上的应用程序外观和感觉尽可能相似。 我开始使用Android并为具有简单边框和圆角等的按钮创建XML drawable。因为我使用XML,所以我可以通过一次更改轻松更改线条粗细,半径尺寸和颜色等内容。 其他文件引用@ dimen / default_thickness等内容。 在iOS上有任何类似的概念吗? 我想做的是“动态”在iOS上重新创建这些UI元素,这样我就不必为每个元素创建图像文件。 当一个应用程序为对象使用一种颜色而另一种应用程序使用其他颜色时,这将使其变得更难 基本上我想知道的是:iOS有没有办法动态创建可绘制资源而不是使用静态的预渲染图像?

在XML中引用自定义Shape类

我一直在扩展Shape类的标准范围( RectShape , OvalShape等),扩展Shape类以创建我自己的自定义形状集。 例如,我创建了一个简单的TriangleShape类,如下所示: import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Path; import android.graphics.drawable.shapes.Shape; public class TriangleLeftShape extends Shape { @Override public void draw(Canvas canvas, Paint paint) { Path path = new Path(); path.setLastPoint(0, getHeight()/2); path.lineTo(getWidth(), getHeight()); path.lineTo(getWidth(), 0); path.close(); canvas.drawPath(path, paint); } } 我想要做的是使用这个类完全用XML创建一个Drawable资源。 这可能吗? 我知道使用其中一个标准形状只需通过以下示例实现,其中元素表示ShapeDrawable : 我无法看到的是如何在XML中将自定义Shape类传递ShapeDrawable XML格式定义的ShapeDrawable 。 我知道android:shape属性只是传递一个枚举值,它只能是矩形,椭圆形,直线或环形。 似乎没有XML属性来指定自定义Shape类。 但是, ShapeDrawable有一个setShape()方法,它似乎建议我可以以编程方式设置我的自定义Shape类,但不能通过XML来实现。 如果可能的话,我如何在XML中使用自定义Shape类? […]

如何在drawable资源中设置位图的大小?

我有以下drawable资源: 问题是:我无法指定位图的确切大小(在dp中)。 结果 – 位图影响控件的高度,背景设置为可绘制的。 我可以通过将控件放在FrameLayout中来解决问题,将drawable的位图部分提取到放置在同一FrameLayout中的ImageView中。 这解决了这个问题,因为ImageView可以定义位图的确切宽度和高度(通过layout_width和layout_height)。 但是drawable没有这样(或类似)的属性。 我想知道为什么会这样? 并且有一种更优雅的方法可以在drawable XML中指定可绘制位图的大小 – 而不是使用FrameLayout实现那个丑陋的解决方法吗? 谢谢

android xml drawable参数

是否可以使用参数的xml drawable? 假设我有一个xml drawable,我想重复使用圆角,渐变等,唯一的variables是一两种颜色。 是否可以指定/传递参数到xml drawable?

可以在Android XML中创建这个简单的形状吗?

我试图在Android XML中创建以下简单形状: 只是一个矩形与三角形组合形成一个箭头。 形状应该用作导航按钮背景。 在Windows Phone上,在XAML中创建此形状是没有问题的,但Android的XML绘图function似乎更加有限。 我尝试使用普通矩形作为“body”创建一个图层列表drawable,并将矩形旋转为三角形。 只要三角形与边框对齐,通过旋转矩形创建三角形就可以正常工作。 一旦我尝试将三角形移动/平移到左侧(到主体/盒子的末尾),三角形不再是三角形,但当然只是一个旋转的矩形…有没有办法剪掉旋转矩形的一半,并将其移动到XML的框的末尾? 当然这可以在Code / Java中完成,但我想知道它是否也可能是XML。 我需要这种具有许多不同尺寸的按钮,使用XML drawable比使用几十个PNG要好得多(从我的角度来看)。