Android - new BitmapDrawable deprecated 创建一个空白的drawable

 

 

Android - new BitmapDrawable deprecated 创建一个空白的drawable

Android专栏收录该内容
471 篇文章0 订阅

创建一个空白的drawable

myPopupWindow.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

 

I've used a PopupWindow. With this PopupWindow I set the BackgroundDrawable to an empty BitmapDrawable.

When I use the following code it gives a deprecated warning:

myPopupWindow.setBackgroundDrawable(new BitmapDrawable());

So I changed it to:

  1.  
    myPopupWindow.setBackgroundDrawable(new BitmapDrawable(
  2.  
    getApplicationContext().getResources(),
  3.  
    Bitmap.createBitmap(0, 0, Bitmap.Config.ARGB_8888)
  4.  
    ));

This gave me an error that a Bitmap must have a width and height bigger than 0.

Right now I use:

  1.  
    myPopupWindow.setBackgroundDrawable(new BitmapDrawable(
  2.  
    getApplicationContext().getResources(),
  3.  
    Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)
  4.  
    ));

And it works. But it just seems a bit wrong to use a 1x1 pixel Bitmap instead of a completely empty one like I want to. Is there another way to actually use an empty BitmapDrawable, instead of one that is 1 by 1 pixels?

 



2down voteaccepted

Ok, instead of

myPopupWindow.setBackgroundDrawable(new BitmapDrawable());
 

OR

  1.  
    myPopupWindow.setBackgroundDrawable(new BitmapDrawable(
  2.  
    getApplicationContext().getResources(),
  3.  
    Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)
  4.  
    ));

I just use a background-color that I want to set to the PopupWindow. So for example, one of my PopupWindows just had a few Images without margins in between them, so I just used a Transparent background for it:

myPopupWindow.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

And for another one I wanted to use a white background anyway, so I've used:

myPopupWindow.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.WHITE));

 

 

 
 
 
 
 
https://blog.csdn.net/sfshine/article/details/41801301
posted @   a318013800  阅读(88)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2019-10-12 Des,3Des加密
2019-10-12 从Android手机中取出已安装的app包,导出apk
2019-10-12 Object not locked by thread before notify() in onPostExecute
点击右上角即可分享
微信分享提示