package com.mylhyl.circledialog.view;
|
|
import android.content.Context;
|
import android.view.Gravity;
|
import android.view.View;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout;
|
|
import com.mylhyl.circledialog.internal.Controller;
|
import com.mylhyl.circledialog.params.CloseParams;
|
import com.mylhyl.circledialog.view.listener.CloseView;
|
|
/**
|
* Created by hupei on 2019/1/16 14:11.
|
*/
|
public class CloseImgView extends LinearLayout implements CloseView {
|
private CloseParams mCloseParams;
|
private ImageView mImageCloseView;
|
|
public CloseImgView(Context context, CloseParams closeParams) {
|
super(context);
|
this.mCloseParams = closeParams;
|
init();
|
}
|
|
@Override
|
public void regOnCloseClickListener(OnClickListener listener) {
|
mImageCloseView.setOnClickListener(listener);
|
}
|
|
@Override
|
public View getView() {
|
return this;
|
}
|
|
private void init() {
|
setOrientation(VERTICAL);
|
setGravity(Gravity.CENTER_HORIZONTAL);
|
if (mCloseParams.closePadding != null && mCloseParams.closePadding.length == 4)
|
setPadding(Controller.dp2px(getContext(), mCloseParams.closePadding[0]),
|
Controller.dp2px(getContext(), mCloseParams.closePadding[1]),
|
Controller.dp2px(getContext(), mCloseParams.closePadding[2]),
|
Controller.dp2px(getContext(), mCloseParams.closePadding[3]));
|
//关闭按钮
|
mImageCloseView = new ImageView(getContext());
|
LayoutParams layoutParamsClose = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
|
if (mCloseParams.closeSize != 0) {
|
layoutParamsClose.width = layoutParamsClose.height = Controller.dp2px(getContext(), mCloseParams.closeSize);
|
}
|
if (mCloseParams.closeResId != 0) {
|
mImageCloseView.setImageResource(mCloseParams.closeResId);
|
}
|
mImageCloseView.setLayoutParams(layoutParamsClose);
|
mImageCloseView.setAdjustViewBounds(true);
|
|
if (mCloseParams.connectorWidth > 0) {
|
DividerView dividerView = new DividerView(getContext());
|
dividerView.setBgColor(mCloseParams.connectorColor);
|
addView(dividerView, new LayoutParams(Controller.dp2px(getContext(), mCloseParams.connectorWidth),
|
Controller.dp2px(getContext(), mCloseParams.connectorHeight)));
|
}
|
//位置
|
if (mCloseParams.closeGravity == CloseParams.CLOSE_TOP_LEFT
|
|| mCloseParams.closeGravity == CloseParams.CLOSE_TOP_CENTER
|
|| mCloseParams.closeGravity == CloseParams.CLOSE_TOP_RIGHT) {
|
addView(mImageCloseView, 0);
|
} else {
|
addView(mImageCloseView);
|
}
|
}
|
}
|