【问题标题】:How setbounds of drawable works in Android?在 Android 中,drawable 的 setbounds 是如何工作的?
【发布时间】:2016-08-11 09:51:12
【问题描述】:

我对 Android 中可绘制的 setbounds 方法感到困惑。我知道它与drawable一起使用,它设置了drawable的位置和它的大小。简而言之,它定义了可绘制的边界矩形。但我很困惑:它是否设置了边框或填充或其宽度或高度?

这就是我们使用 setbounds 的方式

drawableInstance.setBounds(L,T,R,B);

第一个场景

所以在上述情况下,如果我分别为 L、T、R、B 设置 5、5、5、5,那么 drawable 的 L、T、R、B 将始终分别来自其父级?我的意思是它会像在每一边设置隐藏的 5px 边框一样吗?此外,如果图像不够大,无法满足其父级的边框宽度,图像会更大吗?

第二种情况

我分别为 L,T,R,B 设置了 5,5,100,100。我感到困惑的是,它将开始从父级 5px 到顶部和 5px 到左侧开始绘制。那将是起点。然后图像将是 100 像素,因为我将 100 设置为正确。所以它向右100px。右下同。

但是我测试过了。我认为两者都不是我想的那样。它是如何工作的,尤其是与 setBounds 的每个参数相关的?

【问题讨论】:

    标签: android android-drawable


    【解决方案1】:

    边界值是绝对的,而不是相对的。即width == right - leftheight == bottom - top

    您的第一个示例将在(5, 5) 处具有Drawable 的左上角,但宽度和高度均为0

    第二个例子的左上角也是(5, 5),宽度和高度都是95

    边界不取决于Drawable 所绘制到的Canvas 的尺寸。例如,如果您将带有第二个示例边界的Drawable 绘制到仅由@​​987654332@ 由50 构成的View 上,则其左侧和顶部将被5 插入,但它会得到在右侧和底部边框处截断。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-06
      • 2011-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多