Articles of 图片

Android – 即使没有在适配器的getView方法中进行任何处理,带有图像的ListView也会滚动得太慢

我正在尝试使用Listview / customadapter创建人员列表。 行显示得非常快,但即使在速度相当快的设备上滚动也很慢。 我尝试了几个建议,除了使用asynchtask希望将其作为最后的手段,但似乎没有任何改善性能。 最后作为使用asynchtask之前的最后一个镜头,我试图删除适配器的getview方法中的所有处理。 现在它所做的就是从xml中扩展视图并显示空白行。 我注意到即使这样,滚动速度也没有提高。 所以我怀疑原因可能是我的布局结构。 我能做些什么改变才能让它更快? 任何帮助,将不胜感激。 提前致谢。

Android Facebook SDK 3.0上传本地图片

似乎没有明确的参考。 我正在创建一个Android应用程序,用户可以登录到FB。 我在FB网站上关注了本教程 ,该网站提供了一个从url发布图片的示例:postParams.putString(“picture”,“https:// image URL”); 但是,我想从我的项目上传到登录用户的时间轴上的本地PNG图像,该图像位于所有可重新绘制的文件夹中。 这是我的代码: void publishStory() { Session session = Session.getActiveSession(); if (session != null) { Bundle postParams = new Bundle(); postParams.putString(“name”, “Name here.”); postParams.putString(“caption”, “Caption here.”); postParams.putString(“description”, “Description here.”); postParams.putString(“link”, “http://img.androidcookie.com/android/droid); byte[] data = null; ByteArrayOutputStream baos = new ByteArrayOutputStream(); Bitmap bi = BitmapFactory.decodeResource(getResources(),R.drawable.logonew); bi.compress(Bitmap.CompressFormat.PNG, 100, baos); data = baos.toByteArray(); […]

如何在ContentProviderOperation中添加联系人图片?

通过下面的代码段,我可以将所有联系人与REST API同步。 这很好,一切正常。 我可以添加姓名和电话号码的人。 不幸的是,我现在正在努力尝试从SDCard添加图片(我得到一个Bitmap或Drawable) 有人能指出我实现这一目标的方法还是给我一些线索? 非常感谢! 这是我目前使用的示例代码: ArrayList ops = new ArrayList(); int rawContactInsertIndex = ops.size(); ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI) .withValue(RawContacts.ACCOUNT_TYPE, null) .withValue(RawContacts.ACCOUNT_NAME,null ) .build()); ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex) .withValue(Data.MIMETYPE,Phone.CONTENT_ITEM_TYPE) .withValue(Phone.NUMBER, “9X-XXXXXXXXX”) .build()); ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI) .withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex) .withValue(Data.MIMETYPE,StructuredName.CONTENT_ITEM_TYPE) .withValue(StructuredName.DISPLAY_NAME, “Mike Sullivan”) .build()); ContentProviderResult[] res = getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);

Android webview捏缩放问题

你好guyz我能够在webview中缩小图像,使其正常工作。 放大工作正常,但问题是缩小。 图像变得小而小。 如何限制缩小到图像的大小?

获得像gmail应用程序的方形图像

我想用像gmail app这样的字母显示图像,如下图所示。 所有这些图像都是要保存在可绘制文件夹中的图像,还是将它们绘制成square shapes ,然后将字母绘制到它们中? 以下是我到目前为止动态做的事情。 我只是一个方形。 有人可以建议在gmail应用程序中实现的方式吗? GradientDrawable gd = new GradientDrawable(); gd.mutate(); gd.setColor(getResources().getColor(gColors[i])); button.setBackgroundDrawable(gd);

Android – openContactPhotoInputStream为所有联系人照片ID返回NULL

升级到Android 4.0 ICS后,我的应用程序(包含带图像的联系人列表)停止加载这些联系人的图像。 调试后,似乎以下行总是返回NULL。 InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri); 我没有改变应用程序,在升级到ICS后就开始发生了这种情况。 我有权限READ_CONTACTS。 有谁知道为什么会发生这种情况? 他们可以改变什么? 这种方法是弃用还是什么? 完整代码: public static Bitmap loadContactPhoto(ContentResolver cr, long id) { Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, id); InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri); if (input == null) { return null; } return BitmapFactory.decodeStream(input); }

检查Android中已加载或未加载的图像

我从API获取Image作为BLOBtypes。 而且,我保存如下, public static void setOptimalImage(Context ctx, File file, ImageView iv, Point size) { BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(file.getPath(), options); if (options.outHeight > 0 && options.outWidth > 0) { if (size == null) { size = new Point(); WindowManager wm = (WindowManager) ctx .getSystemService(Context.WINDOW_SERVICE); wm.getDefaultDisplay().getSize(size); } options.inSampleSize = Utils.calculateInSampleSize(options, size.x, size.y); […]

在显示列表视图时在后台下载图像

我有一个数组的所有URI的数组,我在列表中显示。 现在我想在后台运行一个线程,从web获取这些图像并将它们存储在SD卡上。 因此,当我单击列表中的特定元素而不是从Web获取时,它应该从新活动中的SD卡中获取。 我该怎么做呢?

Picture.writeToStream()没有写出所有位图

我正在使用webview.capturePicture()来创建一个包含网页的所有绘图对象的Picture对象。 我可以使用canvas.drawPicture(picture, dst)成功地将此Picture对象渲染为位图,没有任何问题。 但是当我使用picture.writeToStream(fos)将图片对象序列化为文件,然后将Picture.createFromStream(fis)读回数据并创建一个新的图片对象时,如上所示呈现的结果位图缺少任何更大的图像(任何超过20KB的东西!通过观察)。 这种情况发生在我测试过1.5,6.6和2.1的所有Android操作系统平台上。 查看Skia的本机代码,它是底层Android图形库和picture.writeToStream()生成的输出文件,我可以看到文件格式是如何构造的。 我可以看到这个Skia假脱机文件中的一些图像没有写出来(较大的),看起来问题的代码是在方法中的skBitmap.cpp中 void SkBitmap::flatten(SkFlattenableWriteBuffer& buffer) const; 它写出位图fWidth, fHeight, fRowBytes, FConfig and isOpaque值,但只写出SERIALIZE_PIXELTYPE_NONE (0). 这意味着假脱机文件不包含有关实际图像的任何像素信息,因此无法正确恢复图片对象。 实际上,这会使writeToStream and createFromStream() API无法使用,因为它们无法可靠地存储和重新创建图片数据。 有没有其他人看到过这种行为,如果是这样,我是否错误地使用了API,是否可以解决,是否有解释,即不完整的API /错误,如果有的话,是否有计划在未来的Android版本中修复? 提前致谢。

有没有办法检测WebView内链接和图像上的长按?