@@ -200,23 +200,18 @@ protected void onDraw(Canvas canvas) {
200
200
}
201
201
202
202
@ Override
203
- protected void onMeasure (int widthMeasureSpec , int heightMeasureSpec ) {
204
- super .onMeasure ( widthMeasureSpec , heightMeasureSpec );
205
- calculateArrowMetrics ();
203
+ protected void onSizeChanged (int width , int height , int oldWidth , int oldHeight ) {
204
+ super .onSizeChanged ( width , height , oldWidth , oldHeight );
205
+ calculateArrowMetrics (width , height );
206
206
updateArrowPath ();
207
207
}
208
208
209
- private void calculateArrowMetrics () {
210
- final int width = getMeasuredWidth ();
211
- final int height = getMeasuredHeight ();
212
- final int arrowMaxHeight = height - 2 * padding ;
213
- int arrowWidth = width - 2 * padding ;
214
- arrowWidth = arrowMaxHeight >= arrowWidth ? arrowWidth : arrowMaxHeight ;
215
-
209
+ private void calculateArrowMetrics (int width , int height ) {
210
+ final int arrowMaxWidth = (height >= width ? width : height );
216
211
if (useDefaultPadding ) {
217
- padding = (int ) (PADDING_PROPORTION * width );
212
+ padding = (int ) (PADDING_PROPORTION * arrowMaxWidth );
218
213
}
219
-
214
+ final int arrowWidth = arrowMaxWidth - 2 * padding ;
220
215
float thickness = (int ) (arrowWidth * THICKNESS_PROPORTION );
221
216
paint .setStrokeWidth (thickness );
222
217
0 commit comments