首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于android Drawable getBounds返回Rect(0,0 - 0,0)

关于Android Drawable getBounds()返回Rect(0,0 - 0,0)的问题,这个问题通常出现在使用Drawable对象时,尤其是在自定义View中。Drawable getBounds()方法返回Drawable的显示边界,如果返回的是Rect(0,0 - 0,0),则表示Drawable的边界没有被设置或者没有被正确设置。

以下是一些可能的原因和解决方案:

  1. 原因:Drawable对象没有被正确设置边界。

解决方案:在使用Drawable对象之前,可以使用setBounds()方法设置其边界。例如:

代码语言:txt
复制

Drawable drawable = getResources().getDrawable(R.drawable.my_drawable);

drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());

代码语言:txt
复制
  1. 原因:Drawable对象的边界被错误地设置为0。

解决方案:确保在设置边界时使用正确的值。例如:

代码语言:txt
复制

Drawable drawable = getResources().getDrawable(R.drawable.my_drawable);

drawable.setBounds(10, 10, 100, 100);

代码语言:txt
复制
  1. 原因:Drawable对象的边界被错误地设置为负数。

解决方案:确保在设置边界时使用正确的值。例如:

代码语言:txt
复制

Drawable drawable = getResources().getDrawable(R.drawable.my_drawable);

drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());

代码语言:txt
复制
  1. 原因:Drawable对象的边界被错误地设置为NaN。

解决方案:确保在设置边界时使用正确的值。例如:

代码语言:txt
复制

Drawable drawable = getResources().getDrawable(R.drawable.my_drawable);

drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());

代码语言:txt
复制

总之,要解决Drawable getBounds()返回Rect(0,0 - 0,0)的问题,需要确保在使用Drawable对象之前正确设置其边界。如果仍然遇到问题,请检查代码中是否存在其他错误。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券