直播系統平臺搭建,自定義控制元件根據圖片寬度設定長度

zhibo系統開發 發表於 2021-11-25

直播系統平臺搭建,自定義控制元件根據圖片寬度設定長度實現的相關程式碼

public class RatioImageView extends android.support.v7.widget.AppCompatImageView {
    /**
     * 寬高比例
     */
    private float mRatio =0f;
    public RatioImageView(Context context) {
        super(context);
    }
    public RatioImageView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.RatioImageView);
        mRatio = typedArray.getFloat(R.styleable.RatioImageView_ratio, 0f);
        typedArray.recycle();
 }
    public RatioImageView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }
    /**
     * 設定ImageView 的寬高比
     * @param ratio
     */
    public void setRatio(float ratio){
        mRatio = ratio;
    }
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int width = MeasureSpec.getSize(widthMeasureSpec);
        if(mRatio != 0){
            float height = width / mRatio;
            heightMeasureSpec = MeasureSpec.makeMeasureSpec((int) height, MeasureSpec.EXACTLY);
        }
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }
}

在佈局檔案裡面設定ratio

ratio是設定寬高比例

<RatioImageView
                        android:id="@+id/iv_goService1"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        app:ratio="2" />

以上就是直播系統平臺搭建,自定義控制元件根據圖片寬度設定長度實現的相關程式碼, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2844101/,如需轉載,請註明出處,否則將追究法律責任。