2016-09-10 35 views
0

我有一个自定义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

回答

0

好了,我也不会切断该空间。只需在onMesaure()中设置正确的值即可。并按比例缩放所有维数dimens.xml

相关问题