Articles of drawable

如何将int转换为drawable?

我创建了一个带有图标列表的对话框,即drawables。 我创建了一个网格视图来显示这些图标。 现在我想获取所选图标并将其设置为我的活动中的图像视图。 那么如何将其转换为drawable,以便我可以在活动的图像视图中设置所选图标? 对话框代码: private void showAlertDialog() { GridView gridView = new GridView(this); gridView.setGravity(Gravity.CENTER); gridView.setPadding(0,20,0,20); int[] mThumbIds = { R.drawable.roundicons05,R.drawable.roundicons08,R.drawable.roundicons02,R.drawable.roundicons03,R.drawable.roundicons04, R.drawable.roundicons16,R.drawable.roundicons37,R.drawable.roundicons06,R.drawable.roundicons07,R.drawable.roundicons05, R.drawable.roundicons09,R.drawable.roundicons10,R.drawable.roundicons11,R.drawable.roundicons12,R.drawable.roundicons13, R.drawable.roundicons14,R.drawable.roundicons15,R.drawable.roundicons16,R.drawable.roundicons17,R.drawable.roundicons18, R.drawable.roundicons19,R.drawable.roundicons20,R.drawable.roundicons22, }; gridView.setAdapter(new ImageAdapter(CheckListActivity.this,mThumbIds)); gridView.setNumColumns(4); gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { // do something here // icon.setImageDrawable(id); imageId = position; Drawable drawable […]

我在哪里可以findandroid系统可绘制资源?

可能重复: 标准的Android菜单图标,例如刷新 我想使用一些android drawables,因为用户已经熟悉它们。 我find了这个不错的网站 ,在那里我可以看到我需要的资源名称。 但我在android.R.drawable中找不到一些资源。 例如,我想在我的应用程序中使用checkboxdrawables: 从那个网站我看到那些drawables的名字是btn_check_off和btn_check_on虽然我在android.R.drawable中没有看到这样的名字。 是否可以使用任何可绘制的系统?

可在字符串资源中绘制

我想显示AlertDialog ,它用字符串和图标一起显示其消息。 是否可以在字符串资源中插入图标​​/图像/ drawable? 有没有办法在AlertDialog显示带有字符串的AlertDialog 。 编辑 如果它不清楚,则drawables需要在字符串内。 比如“点击图标[icon-image],然后点击……”

PackageManager.getApplicationIcon()返回默认图标?

有没有办法判断我从getApplicationIcon()获取的Drawable是否是默认/内置图标? 例如,我在我的模拟器上安装了几个应用程序。 “Adobe Reader”有一个由Adobe提供的图标。 另一方面,“com.android.gesture.builder”和“Sample Soft Keyboard”具有通用的Android图标。 这两个包的getApplicationIcon()返回了不同的BitmapDrawable对象,但是在这两个对象上运行getBitmap()返回了相同的Bitmap对象(android.graphics.Bitmap@401a7df8)。 到目前为止我唯一的想法就是做一些类似于如何预览R.drawable。*图像并获取所有android.R.drawable资源,从中创建Drawables,并检查我是否从getApplicationIcon返回的Bitmap( )匹配任何一个。 不过,这是非常不理想的。 谢谢!

绘制包含InsetDrawable的图层时出现意外的LayerDrawable行为

我正在尝试在xml中构建一个LayerDrawable,其中上层偶尔会完全遮盖下层。 为了使较低层较小,我使用InsetDrawable来包装另一个drawable,使其小于视图的完整大小。 然而,我意外地发现,放置在包含插图的图层顶部的任何图层也都应用了插图。 我找不到支持这种行为的文档,并且很困惑为什么会出现这种情况。 在下面的示例中,我创建了一个包含3层的LayerDrawable。 底层和顶层包含椭圆形可绘制,用于占据整个视图。 中间层是InsetDrawable内部可绘制的矩形。 代码如下: 调用setBackgroundDrawable(getResources().getDrawable(drawableId)); 在我的视图中生成一个绿色椭圆,按预期填充整个视图,红色矩形按预期插入4dp,但顶层的蓝色椭圆也插入4dp并完全在红色矩形的边界内绘制。 我希望蓝色椭圆形能够完全遮盖绿色椭圆形和大部分红色矩形,但它会嵌入红色矩形内部。 有没有办法让蓝色圆圈填满视图但仍保持在顶部?

设置SurfaceView的背景图像

有没有办法设置SurfaceView的背景图像? 是否必须在xml中完成,或者我可以用Java完成所有操作 – 我的构造函数中有一些看起来像这样的东西: Drawable sky = (getResources().getDrawable(R.drawable.sky)); this.setBackgroundDrawable(sky); 但它仍然没有显示任何东西。

将每个资源的名称与sqlite数据库的variables的内容进行比较

我希望你能帮助我,我已经研究过我的案子,但没有find一个好的答案。 我想将variables的内容与所有现有资源的名称进行比较(如果可能,仅使用可绘制资源)。 简而言之:如何将variables的String内容与所有资源名称列表进行比较,仅优先使用可绘制资源? 或者换句话说:如何获取所有资源名称的列表(包含字符串),只优先绘制可绘制资源? 案例:我想根据给定的types显示符号。 从SQLite数据库中检索此types。 有许多符号存储为可绘制资源,它们都以可能的types命名。 对于数据库中的每个存储types,我想在列表中显示拟合符号。 应通过variables“type”和包含所有(可绘制)资源名称的列表之间的比较(通过contains方法)找出相等性。 示例:在数据库中有名为“A”,“B”和“C”的types。 在drawable resources文件夹中是名称为“A”,“BX”和“S”的图形。 比较应该导致这样的情况,即在列表中只有types“A”与拟合可绘制符号“A”相关联。 types“B”和“C”没有可能命名的可绘制资源,因此不应显示任何符号。 我希望你理解我的问题,并感谢你的帮助。

drawable == drawable?

这是我的问题……: 在我的活动中,我有一个ImageView和一个Button 。 我希望Button仅在ImageView显示某个drawable时执行操作。 是的,这意味着ImageView在各种drawable之间进行animation制作,这些drawable被编码,使得它不会因我想要的而中断。 ImageView imgview = (ImageView)findViewById(R.id.imgviewsid); Resources res = getResources(); Drawable acertaindrawable = res.getDrawable(R.drawable.thecertaindrawable); Drawable variabledrawable = imgview.getDrawable(); if (variabledrawable == acertaindrawable) { //does something } 它没用。 我把它缩小到“if(variabledrawable == acertaindrawable)”行的错误。 虽然Eclipse没有公然报告Android无法识别的错误,如果两个drawables相同,我已经测试了代码的其他区域,并且似乎都可以正常工作。

如何从非活动类访问drawable

我处于这样一种情况,我必须使用我的应用程序的drawable folder形成一个非活动类。 我尝试使用以下代码的父活动: ParentActivity pa = new ParentActivity(); Drawable d = pa.getResources()..getDrawable(R.drawable.icon);` 但是这会返回一个NulLPointerException 。 我怎样才能做到这一点?

具有可绘制背景的Android GLSurfaceView

我有一个带有drawable作为背景的GLSurfaceView,但是在没有surfaceView.setZOrderOnTop(true)的情况下渲染时只有背景可见 我需要避免使用setZOrderOnTop(true),因为在GLSurfaceView上使用静态TextView。 有什么建议让这个工作?