|
|
@@ -0,0 +1,56 @@
|
|
|
+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: DrawableRightCenterTextView
|
|
|
+ * @Description: java类作用描述
|
|
|
+ * @Author: niusongtao
|
|
|
+ * @CreateDate: 2020/8/20 10:05
|
|
|
+ * @UpdateUser: 更新者:niusongtao
|
|
|
+ * @UpdateDate: 2020/8/20 10:05
|
|
|
+ * @UpdateRemark: 更新说明:
|
|
|
+ * @Version: 1.0
|
|
|
+ */
|
|
|
+
|
|
|
+public class DrawableRightCenterTextView extends AppCompatTextView {
|
|
|
+
|
|
|
+ public DrawableRightCenterTextView(Context context) {
|
|
|
+ super(context);
|
|
|
+ }
|
|
|
+
|
|
|
+ public DrawableRightCenterTextView(Context context, AttributeSet attrs) {
|
|
|
+ super(context, attrs);
|
|
|
+ }
|
|
|
+
|
|
|
+ public DrawableRightCenterTextView(Context context, AttributeSet attrs,
|
|
|
+ int defStyle) {
|
|
|
+ super(context, attrs, defStyle);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onDraw(Canvas canvas) {
|
|
|
+ Drawable[] drawables = getCompoundDrawables();//left,top,right,bottom
|
|
|
+ if(drawables != null){
|
|
|
+ Drawable drawableRight = drawables[2];
|
|
|
+ if(drawableRight != null){
|
|
|
+ float textWidth = getPaint().measureText(getText().toString());
|
|
|
+ int drawablePadding = getCompoundDrawablePadding();
|
|
|
+ int drawableWidth = 0;
|
|
|
+ drawableWidth = drawableRight.getIntrinsicWidth();
|
|
|
+ float bodyWidth = textWidth + drawableWidth + drawablePadding;
|
|
|
+ setPadding(0, 0, (int)(getWidth() - bodyWidth), 0);
|
|
|
+ canvas.translate((getWidth() - bodyWidth) / 2, 0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ super.onDraw(canvas);
|
|
|
+ }
|
|
|
+}
|