public DrawerArrowDrawable(Context context, @AttrRes int defStyleAttr, @StyleRes int defStyleRes) {
super(context, defStyleAttr, defStyleRes);
final TypedArray typedArray = context.getTheme()
.obtainStyledAttributes(null, R.styleable.DrawerArrowToggle, defStyleAttr, defStyleRes);
float gapSize = round(typedArray.getDimension(R.styleable.DrawerArrowToggle_td_gapSize, 0));
float barLength = round(typedArray.getDimension(R.styleable.DrawerArrowToggle_td_crossLength, 0));
float arrowHeadLength = round(typedArray.getDimension(
R.styleable.DrawerArrowToggle_td_arrowHeadLength, 0));
float arrowShaftLength = typedArray
.getDimension(R.styleable.DrawerArrowToggle_td_arrowShaftLength, 0);
typedArray.recycle();
DrawerModel drawer = new DrawerModel(barLength, gapSize);
ArrowModel arrow = new ArrowModel(arrowShaftLength, arrowHeadLength, getStrokeWidth());
add(drawer.topLine, arrow.topHead);
add(drawer.middleLine, arrow.body);
add(drawer.bottomLine, arrow.bottomHead);
}
}