package com.js.collection.widget;
import android.animation.Animator;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.drawable.Drawable;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
import android.view.Gravity;
import android.view.MotionEvent;
import com.js.collection.R;
import com.library.utils.Dp2PxUtil;
import androidx.appcompat.widget.AppCompatRadioButton;
/**
* 图片和文字居中的RadioButton,只处理左边或上边有图片的情况,
* 可以启用默认的缩放动画:在手指按下时会有缩小动画,在手指离开时有复原动画
*/
public class TabRadioButton extends AppCompatRadioButton {
/** 默认缩放动画,缩放比例为3/4 */
private static final float DEFAULT_SCALE_RATE = 0.75f;
/** 默认缩放动画的时长 */
private static final int DEFAULT_DURATION = 200;
/** 如果drawable的size为-1,则显示其默认大小 */
private static final int DEFAULT_DRAWABLE_SIZE = -1;
private Drawable leftDrawable;
private Drawable topDrawable;
private Drawable rightDrawable;
private Drawable bottomDrawable;
/** 指定drawable的大小 */
private int drawableSize;
private int drawablePadding;
private String text;
private float textHeight;
private float textWidth;
/** 是否启用动画效果 */
private boolean enableAnimation;
/** 手指按下时的动画 */
private Animator pressedAnimator;
/** 手指离开时的动画 */
private Animator releasedAnimator;
private long duration;
private float scaleRate;
Context context;
public TabRadi
TabRadioButton 图片和文字居中的RadioButton
最新推荐文章于 2024-07-11 15:08:02 发布