BitmapDrawable 已弃用的替代方案

     2023-04-15     103

关键词:

【中文标题】BitmapDrawable 已弃用的替代方案【英文标题】:BitmapDrawable deprecated alternative 【发布时间】:2012-04-16 06:11:56 【问题描述】:

我有以下代码可以将可绘制对象旋转一定的度数。

    public Drawable rotateDrawable(float angle, Context context)
    
      Bitmap arrowBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.generic2rb);

      // Create blank bitmap of equal size
      Bitmap canvasBitmap = arrowBitmap.copy(Bitmap.Config.ARGB_8888, true);
      canvasBitmap.eraseColor(0x00000000);

      // Create canvas
      Canvas canvas = new Canvas(canvasBitmap);

      // Create rotation matrix
      Matrix rotateMatrix = new Matrix();
      rotateMatrix.setRotate(angle, canvas.getWidth()/2, canvas.getHeight()/2);

      //Draw bitmap onto canvas using matrix
      canvas.drawBitmap(arrowBitmap, rotateMatrix, null);

      return new BitmapDrawable(canvasBitmap); 
    

新的 SDK 表示

BitmapDrawable(canvasBitmap); 

已弃用。有什么替代品吗?

http://developer.android.com/reference/android/graphics/drawable/BitmapDrawable.html

【问题讨论】:

'new BitmapDrawable(context.getResources(), canvasBitmap);' 有什么问题? 【参考方案1】:

改为这样做:

return new BitmapDrawable(context.getResources(), canvasBitmap);

【讨论】:

好的,谢谢,这似乎有效。我担心那里的弃用!它似乎确实使图标变大了,但我会进一步研究! @LeeArmstrong 它看起来更大,因为它正在使用资源对象将图像调整为屏幕的密度。通常弃用一个方法意味着它不再是做事的正确方法,但它经常被实施以保持向后兼容性。但是,Google 似乎并不总是对 API 友好,所以如果他们将来破坏旧的构造函数,我也不会感到惊讶。 我必须在 Tools 类的静态方法中创建新的 BitmapDrawable。我无法访问上下文。在那种情况下我怎么能使用这种方法? @Marek 我认为您应该使用所有相关源代码提出一个新问题,包括您如何调用该方法。您可能只需要重构该方法以将上下文(或资源)也传递给它。 这个新的构造函数会缩放位图,这在很多情况下并不是我们想要的行为。【参考方案2】:

尝试一次。

    活动中

    BitmapDrawable background = new BitmapDrawable(this.getResources(), blurImageBg);
    

    在片段中

    BitmapDrawable background = new BitmapDrawable(getActivity(), blurImageBg);
    

    在适配器中或其他

    BitmapDrawable background = new BitmapDrawable(context.getResources(), blurImageBg);
    

【讨论】:

【参考方案3】:

BitmapDrawable 的 Kotlin 代码:

var bitmapDrawable = BitmapDrawable(resources,bitmapObj)

【讨论】:

寻找现在已弃用的 retryWhen 的替代方案

】寻找现在已弃用的retryWhen的替代方案【英文标题】:LookingforanalternativeofretryWhenwhichisnowDeprecated【发布时间】:2020-10-0616:34:43【问题描述】:我遇到了WebClient和reactor-extra的问题。确实,我有以下方法:publicEmployeegetEmployee(Stringemp... 查看详情

已弃用的 google plus api 的替代解决方案是啥?

】已弃用的googleplusapi的替代解决方案是啥?【英文标题】:Whatisthealternativesolutionofdeprecatedgoogleplusapi?已弃用的googleplusapi的替代解决方案是什么?【发布时间】:2019-06-2315:43:08【问题描述】:Google宣布在3月7日弃用所有googleplusapi... 查看详情

替代已弃用的 AudioManager.isWiredHeadsetOn?

】替代已弃用的AudioManager.isWiredHeadsetOn?【英文标题】:AlternativetothedeprecatedAudioManager.isWiredHeadsetOn?【发布时间】:2013-01-0207:43:44【问题描述】:方法AudioManager.isWiredHeadsetOn()从api级别14被弃用,我们现在如何检测是否连接了有线... 查看详情

OAuth2FeignRequestInterceptor 的替代方案,依赖于已弃用的类

】OAuth2FeignRequestInterceptor的替代方案,依赖于已弃用的类【英文标题】:AlternativeforOAuth2FeignRequestInterceptorthatdependsonadeprecatedclass【发布时间】:2020-05-0511:07:44【问题描述】:免责声明:老实说,我尝试在google/github上搜索,扫描了... 查看详情

iOS 12.0 替代使用已弃用的 archiveRootObject:toFile:

】iOS12.0替代使用已弃用的archiveRootObject:toFile:【英文标题】:iOS12.0AlternativetoUsingDeprecatedarchiveRootObject:toFile:【发布时间】:2019-05-0322:47:12【问题描述】:在iOS12中,archiveRootObject:toFile:已被弃用。任何人都可以提出一种简化的替代... 查看详情

是否有快速替代已弃用的“SKPaymentTransaction.transactionReceipt”?

】是否有快速替代已弃用的“SKPaymentTransaction.transactionReceipt”?【英文标题】:Isthereafastreplacementfordeprecate`SKPaymentTransaction.transactionReceipt`?【发布时间】:2014-05-1513:41:45【问题描述】:是否有快速替代已弃用的SKPaymentTransaction.tran... 查看详情

已弃用的 NSURLConnection 方法,有替代方法吗?

】已弃用的NSURLConnection方法,有替代方法吗?【英文标题】:DeprecatedNSURLConnectionMethods,isthereanalternative?【发布时间】:2012-02-2814:12:26【问题描述】:我正在设置一个NSURLConnection来访问远程服务器:NSURL*url=[[NSURLalloc]initWithString:proj... 查看详情

Android getAllNetworkInfo() 已弃用。啥是替代方案?

】AndroidgetAllNetworkInfo()已弃用。啥是替代方案?【英文标题】:AndroidgetAllNetworkInfo()isDeprecated.Whatisthealternative?AndroidgetAllNetworkInfo()已弃用。什么是替代方案?【发布时间】:2015-11-2110:09:26【问题描述】:我想使用ConnectivityManager提... 查看详情

图像中已弃用的 Notification 类的替代方法是啥?

】图像中已弃用的Notification类的替代方法是啥?【英文标题】:WhatisthealternativeforthedeprecatedNotificationclassintheimage?图像中已弃用的Notification类的替代方法是什么?【发布时间】:2014-02-1811:14:20【问题描述】:我打算在android设备的... 查看详情

System.Json 已弃用。啥是替代方案? [关闭]

】System.Json已弃用。啥是替代方案?[关闭]【英文标题】:System.Jsondepreacted.Whatisthealternative?[closed]System.Json已弃用。什么是替代方案?[关闭]【发布时间】:2017-02-1721:51:47【问题描述】:我正在尝试为我的移动应用程序实现JSONapi。... 查看详情

pymxs 替代已弃用的 MaxPlus 实用程序函数

】pymxs替代已弃用的MaxPlus实用程序函数【英文标题】:pymxsalternativestothedeprecatedMaxPlusutilityfunctions【发布时间】:2021-08-2400:11:17【问题描述】:随着Autodesk从3dsMax中删除MaxPlus,我现在不得不重新编写一些代码,并且想知道是否有... 查看详情

Gtk.stock 已弃用,有啥替代方案?

】Gtk.stock已弃用,有啥替代方案?【英文标题】:Gtk.stockisdeprecated,what\'sthealternative?Gtk.stock已弃用,有什么替代方案?【发布时间】:2016-08-1618:34:43【问题描述】:我一直在学习开发Gtk,网上的大多数示例都建议使用Gtk.stock图标... 查看详情

已弃用的 Hibernate.createClob(Reader reader, int length) 的替代方法是啥

】已弃用的Hibernate.createClob(Readerreader,intlength)的替代方法是啥【英文标题】:WhatisthealternatefordeprecatedHibernate.createClob(Readerreader,intlength)已弃用的Hibernate.createClob(Readerreader,intlength)的替代方法是什么【发布时间】:2012-02-1601:23:11【 查看详情

如何为已弃用的英特尔 IPP API 找到替代 API?

】如何为已弃用的英特尔IPPAPI找到替代API?【英文标题】:HowtofindalternativeAPIsfordeprecatedIntelIPPAPIs?【发布时间】:2014-11-0410:11:49【问题描述】:我正在与IntelIntegratedPerformancePrimitives(IntelIPP8.2)合作。我正在尝试使用来自UtilityFunction... 查看详情

Android:替代已弃用的 Context.MODE_WORLD_READABLE?

】Android:替代已弃用的Context.MODE_WORLD_READABLE?【英文标题】:Android:AlternativetothedeprecatedContext.MODE_WORLD_READABLE?【发布时间】:2012-12-0103:51:09【问题描述】:Fromhere我知道一种写入文件并可供其他应用程序和其他意图访问的方法,... 查看详情

[FFmpeg]啥是已弃用的 avpicture_alloc、avpicture::data 的替代品

】[FFmpeg]啥是已弃用的avpicture_alloc、avpicture::data的替代品【英文标题】:[FFmpeg]whatisreplacementsofavpicture_alloc,avpicture::datawhichweredeprecated[FFmpeg]什么是已弃用的avpicture_alloc、avpicture::data的替代品【发布时间】:2016-04-1204:47:35【问题描... 查看详情

channel 或 mutablesharedflow ,哪个是已弃用的 localbroadcastmanager 的更好替代品

】channel或mutablesharedflow,哪个是已弃用的localbroadcastmanager的更好替代品【英文标题】:channelormutablesharedflow,whichoneisabetterreplacementfordeprecatedlocalbroadcastmanager【发布时间】:2021-04-0321:15:20【问题描述】:过去,我在聊天和出租车应... 查看详情

Facebook 的 ShareLinkContent 已弃用 Android 功能的替代解决方案是啥?

】Facebook的ShareLinkContent已弃用Android功能的替代解决方案是啥?【英文标题】:WhatisthealternatesolutionforFacebook\'sShareLinkContentdeprecatedfunctionsforAndroid?Facebook的ShareLinkContent已弃用Android功能的替代解决方案是什么?【发布时间】:2018-03-... 查看详情