如何在自定义视图中切断未使用的空间?

时间:2016-09-10 11:19:29

标签: android

我有一个自定义View,其高度大于其内部绘制的内容。我尝试在这样的代码中手动设置所需的内容高度:

@Override
    protected void onMeasure(int widthMeasureSpec, int 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);
        centerX = chosenDimension / 2 - offsetCenterX;
        centerY = chosenDimension / 2 - offsetCenterY;

        setMeasuredDimension(chosenDimension, chosenDimension - 200); //IN HERE I`M TRYING TO CROP THE VIEWS HEIGHT
    }

但似乎我的View缩小了。我不需要这个。 我的解决方案是重置dimen.xml中的所有维度,但它有点错误。知道如何以正确和简单的方式裁剪它吗?

这是我想要切断的图片

enter image description here

1 个答案:

答案 0 :(得分:0)

好吧,我不必切断这个空间。只需在onMesaure()中设置正确的值即可。并在dimens.xml

中扩展所有尺寸