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