|
|
@@ -0,0 +1,55 @@
|
|
|
+package com.mgtech.base_library.custom;
|
|
|
+
|
|
|
+import android.content.Context;
|
|
|
+import android.graphics.Canvas;
|
|
|
+import android.graphics.drawable.Drawable;
|
|
|
+import android.util.AttributeSet;
|
|
|
+import android.widget.TextView;
|
|
|
+
|
|
|
+import androidx.appcompat.widget.AppCompatTextView;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @ProjectName: BaseLibrary
|
|
|
+ * @Package: com.mgtech.base_library.custom
|
|
|
+ * @ClassName: DrawableCenterTextView
|
|
|
+ * @Description: java类作用描述
|
|
|
+ * @Author: niusongtao
|
|
|
+ * @CreateDate: 2020/8/6 11:18
|
|
|
+ * @UpdateUser: 更新者:niusongtao
|
|
|
+ * @UpdateDate: 2020/8/6 11:18
|
|
|
+ * @UpdateRemark: 更新说明:
|
|
|
+ * @Version: 1.0
|
|
|
+ */
|
|
|
+public class DrawableCenterTextView extends AppCompatTextView {
|
|
|
+
|
|
|
+ public DrawableCenterTextView(Context context, AttributeSet attrs,
|
|
|
+ int defStyle) {
|
|
|
+ super(context, attrs, defStyle);
|
|
|
+ }
|
|
|
+
|
|
|
+ public DrawableCenterTextView(Context context, AttributeSet attrs) {
|
|
|
+ super(context, attrs);
|
|
|
+ }
|
|
|
+
|
|
|
+ public DrawableCenterTextView(Context context) {
|
|
|
+ super(context);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onDraw(Canvas canvas) {
|
|
|
+ Drawable[] drawables = getCompoundDrawables();
|
|
|
+ if (drawables != null) {
|
|
|
+ Drawable drawableLeft = drawables[0];
|
|
|
+ if (drawableLeft != null) {
|
|
|
+ float textWidth = getPaint().measureText(getText().toString());
|
|
|
+ int drawablePadding = getCompoundDrawablePadding();
|
|
|
+ int drawableWidth = 0;
|
|
|
+ drawableWidth = drawableLeft.getIntrinsicWidth();
|
|
|
+ float bodyWidth = textWidth + drawableWidth + drawablePadding;
|
|
|
+ canvas.translate((getWidth() - bodyWidth) / 2, 0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ super.onDraw(canvas);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|