如何使用ShapeDrawables自动缩放自定义视图?

时间:2013-11-17 13:24:31

标签: android android-layout android-drawable

我正在为我的Android应用程序编写一个自定义视图,其中包含多个ShapeDrawables。对于这些drawable,我必须使用setBounds()指定尺寸。现在,我的视图将始终是正方形,但我希望它使用尽可能多的空间,因为我在嵌入它的父级中允许它。

所以,现在我使用一些硬编码值来调用setBounds(),但是当我指定android:layout_widthandroid:layout_height时,我希望缩放ShapeDrawables以便它们出现尽可能大。

如何在自定义View类中完成此操作?

1 个答案:

答案 0 :(得分:1)

自己找到它:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

    int width = MeasureSpec.getSize(widthMeasureSpec);
    int height = MeasureSpec.getSize(heightMeasureSpec);

    mSize = Math.min(width, height);

    setMeasuredDimension(mSize, mSize);
}