Articles of drawable

当屏幕滚动时,GridView中的项目会重复出现

我正在使用GridView来显示用户可以选择的一组类别。 网格的每个项目都由ImageView和TextView组成,两者都从服务器检索。 触摸某个项目时,将启动另一个活动。 我以为一切都是正确的,直到我注意到当我滚动屏幕时有些重复。 每当我向下滚动网格,然后向后滚动,它就会改变它的位置并重复。 但即使我触摸了搞砸了,也会将正确的值发送到下一个活动。 查看LogCat,会发生对服务器的任何重复请求。 事实上,我在滚动时得到了这个: 06-28 12:36:38.554: D/dalvikvm(358): GC_EXTERNAL_ALLOC freed 2061 objects / 156024 bytes in 51ms 06-28 12:36:42.915: D/dalvikvm(358): GC_FOR_MALLOC freed 6590 objects / 737528 bytes in 57ms 06-28 12:38:26.725: D/dalvikvm(358): GC_EXTERNAL_ALLOC freed 5426 objects / 468176 bytes in 71ms 06-28 12:38:26.875: D/dalvikvm(358): GC_EXTERNAL_ALLOC freed 409 objects / 17480 bytes in […]

可绘制与单一可重用位图更好地使用内存?

据我所知(并非我是正确的)当应用程序完成后,通常会从内存中正确删除Drawable。 但是,位图需要手动回收,有时甚至会编写一个特殊的类来正确处理它们。 我的问题是,关于记忆和泄漏,简单地坚持像这样的Drawables更有利 : myView.setBackgroundDrawable(getResources().getDrawable(R.drawable.my_image)); myView1.setBackgroundDrawable(getResources().getDrawable(R.drawable.my_image1)); myView2.setBackgroundDrawable(getResources().getDrawable(R.drawable.my_image2)); 而不是像Bitmaps那样的东西: Bitmap tmpBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image); myView.setImageBitmap(tmpBitmap); tmpBitmap.recycle(); tmpBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image1); myView1.setImageBitmap(tmpBitmap); tmpBitmap.recycle(); tmpBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image2); myView2.setImageBitmap(tmpBitmap); tmpBitmap.recycle(); 我当然也读过你必须小心bitmaps上的recycle()方法,因为它们可以在使用时删除吗? 似乎这些问题不断出现在不同的forms,但我无法真正得到任何人的直接回答。 一个人说重复使用Bitmap并在每次使用后回收,其他人说使用Drawables和unbindDrawables()方法(这是我一直在使用的): private void unbindDrawables(View view) { if (view.getBackground() != null) { view.getBackground().setCallback(null); } if (view instanceof ViewGroup) { for (int i = 0; i < ((ViewGroup) […]

在Android中自定义状态标签

我知道如何在每个标签上放置图标,这没问题。 我也跑过这个:[Stack Overflow线程几乎一样] [1] 我按照该问题的一个链接find[this] [2] 差不多,它说使用XML中定义的选择器,当然,这样做。 但是没有与之关联的id,因此我不确定如何将选择器function作为drawable,因此我可以将其用作选项卡的图标。 也许我会以错误的方式解决这个问题。 但这就是我所拥有的,显然缺少了一些东西。 在我的代码中,使用以下命令生成示例选项卡: host.addTab(host.newTabSpec(“three”) .setIndicator(“map”,drawables) .setContent(new Intent(this, Map.class))); 现在drawable只是对可绘制图像资源的引用。 如何使选择器成为可绘制的? 这是我的问题[1]: 更新Android标签图标 [2]: http : //groups.google.com/group/android-evelopers/browse_thread/thread/ef3bdebcb715b385

将图像从Android上的可绘制资源保存到SD卡

我想知道如何通过点击按钮将图像保存到用户的SD卡。 有人可以告诉我该怎么做。 Image的格式为.png,存储在drawable目录中。 我想编写一个按钮将该图像保存到用户的SD卡。

Glide:加载drawable但不扩展占位符

有没有办法使用Glide分配占位符但是将此图像保持原始比例? 我有一个可变大小的ImageView (取决于传入的图像),我在调用Glide.with().load().into()之前设置了它,我想为它使用占位符但不希望PH为resize到ImageView的大小,我希望它保持其原始大小。 到目前为止,我找不到办法做到这一点。

创建自定义Drawable并在XML中使用它

我正在忙着创建一个不太复杂的NinePatchDrawable版本, NinePatchDrawable可以平铺内部面板而不是拉伸它们。 我可以实现实际的逻辑来进行渲染等。 但是,我找不到有关如何在XML文件中使用此Drawable的文档。 这可能吗? 也就是说,我可以用一个或者一些这样的标签来定义资源吗?

如何创建一个重复的animation移动渐变drawable,就像一个不确定的进展?

背景 Android有一个标准的ProgressBar,在不确定时会带有特殊的animation。 还有很多可用的进度视图库( 这里 )。 问题 在我搜索过的所有内容中,我找不到办法做一件非常简单的事情: 具有从颜色X到颜色Y的渐变,水平显示,并在X坐标中移动,以便X之前的颜色将变为颜色Y. 例如(只是一个例子),如果我有一个蓝色红色的渐变,从边缘到边缘,它将如此: 我试过的 我在StackOverflow上尝试了一些解决方案: 更改水平进度条不确定颜色 如何更改android不确定ProgressBar颜色? ProgressBar / ProgressDialog的自定义Drawable 如何在Android中更改进度条的进度颜色 如何更改水平ProgressBar开始颜色和结束颜色渐变 但遗憾的是,它们都是关于Android的标准ProgressBar视图,这意味着它有一种不同的方式来显示drawable的animation。 我也试过在Android Arsenal网站上find类似的东西,但即使有很多不错的东西,我找不到这样的东西。 当然,我可以自己animation2个视图,每个视图都有自己的渐变(一个与另一个相反),但我确信有更好的方法。 这个问题 有可能使用Drawable或它的animation,这使得渐变(或其他任何东西)以这种方式移动(当然重复)? 也许只是从ImageView扩展并为那里的drawable设置animation? 是否也可以设置容器将用于重复可绘制的多少? 我的意思是,在上面的例子中,它可能是从蓝色到红色,因此蓝色将在边缘,红色将在中间。 编辑: 好的,我已经取得了一些进展,但是我不确定这个动作是否正常,而且我认为它的速度不一致,以防CPU出现繁忙,因为它不考虑帧丢失。 我所做的是将2个GradientDrawables一个接一个地绘制,如下: class HorizontalProgressView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 ) : View(context, attrs, defStyleAttr) { private val speedInPercentage = 1.5f […]

在android studio中的drawable文件夹中创建shape xml文件

我正在使用Android studio 1.2.2并且需要知道如何在drawable文件夹中创建新的shape文件。 我已经在Eclipse中做了同样的事情,但在android studio 1.2.2中无法做到这一点

如何将Drawable资源写入文件?

我需要将一些Drawable资源导出到文件中。 例如,我有一个函数,它返回给我一个Drawable对象。 我想把它/sdcard/drawable/newfile.png的文件中。 我该怎么做?

Android Button Drawable Tint

是否可以在Android按钮中着色drawableLeft? 我有一个黑色的drawable我想要着色白色。 我知道如何用图像视图(左边的图像)实现这一点,但我想用默认的android按钮来做到这一点。 我的源代码: 有没有办法给按钮着色? 或者是否有自定义视图方法来实现此效果?