1

我正在创建一个三角形(自定义视图),然后将其添加到父视图(RelativeLayout)。我在这里面临的问题是查看父级的全屏,我如何将自定义视图的大小设置为该边界。三角形从视图延伸,它有触摸监听器。我动态地改变三角形的大小。

我被添加到该视图中的 onMeasure() 但它需要一些固定的宽度和高度..

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    Log.d(TAG, "Width spec: " + MeasureSpec.toString(widthMeasureSpec));
    Log.d(TAG, "Height spec: " + MeasureSpec.toString(heightMeasureSpec));

    int widthMode = MeasureSpec.getMode(widthMeasureSpec);
    int widthSize = MeasureSpec.getSize(widthMeasureSpec);

    int heightMode = MeasureSpec.getMode(heightMeasureSpec);
    int heightSize = MeasureSpec.getSize(heightMeasureSpec);

    int chosenWidth = chooseDimension(widthMode, widthSize);
    int chosenHeight = chooseDimension(heightMode, heightSize);

    int chosenDimension = Math.min(chosenWidth, chosenHeight);

    setMeasuredDimension(chosenDimension, chosenDimension);
}

当用户更改视图的大小时,我想根据视图的大小设置自定义视图的宽度和高度。看图像。

在此处输入图像描述

4

1 回答 1

0

点在哪里并不重要。您可以绘制任何方向的三角形。但自定义视图将始终是一个矩形。如果您不在三角形之外绘制任何内容,则视图将显示为三角形。

于 2012-07-19T06:33:30.010 回答