android 評價星星保持不失真

package com.fanwe.library.customview;

import java.lang.reflect.Field;

import android.content.Context;
import android.graphics.Bitmap;
import android.util.AttributeSet;
import android.widget.RatingBar;

public class SDRatingBar extends RatingBar
{

    public SDRatingBar(Context context)
    {
        super(context);
    }

    public SDRatingBar(Context context, AttributeSet attrs)
    {
        super(context, attrs);
    }

    public SDRatingBar(Context context, AttributeSet attrs, int defStyle)
    {
        super(context, attrs, defStyle);
    }

    @Override
    protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
    {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        try
        {
            Class<?> clazz = Class.forName("android.widget.ProgressBar");
            Field field = clazz.getDeclaredField("mSampleTile");
            field.setAccessible(true);
            Object bitmapObject = field.get(this);
            Bitmap bitmap = (Bitmap) bitmapObject;
            int height = bitmap.getHeight();
            if (height > 0)
            {
                setMeasuredDimension(getMeasuredWidth(), resolveSizeAndState(height, heightMeasureSpec, 0));
            }
        } catch (Exception e)
        {
            e.printStackTrace();
        }
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容