2016-09-10 7 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

関連する問題