直播系统平台搭建,自定义控件根据图片宽度设置长度

直播系统平台搭建,自定义控件根据图片宽度设置长度实现的相关代码

 

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" />

以上就是直播系统平台搭建,自定义控件根据图片宽度设置长度实现的相关代码, 更多内容欢迎关注之后的文章

 

posted @ 2021-11-25 14:12  云豹科技-苏凌霄  阅读(39)  评论(0编辑  收藏  举报