package com.xscm.moduleutil.widget; import android.content.Context; import android.content.res.TypedArray; import android.text.TextUtils; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import com.xscm.moduleutil.R; import com.xscm.moduleutil.bean.UserOnlineStatusBean; import com.xscm.moduleutil.bean.room.RoomPitBean; import com.xscm.moduleutil.utils.ImageUtils; import com.xscm.moduleutil.utils.StringUtil; public class RoomMakeWheatView extends BaseWheatView { public ImageView mIvTagBoss; public TextView mTvTime; public ImageView iv_zhul; // public ImageView iv_on_line; private ImageView iv_tag_type; public WheatCharmView mCharmView; private boolean showBoss;//显示老板标识 private boolean showSexIcon = false; private String sex; public RoomMakeWheatView(Context context) { this(context, null, 0); } public RoomMakeWheatView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public RoomMakeWheatView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void initPit(Context context, AttributeSet attrs) { TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.RoomMakeWheatView); pitNumber = typedArray.getString(R.styleable.RoomMakeWheatView_room_make_wheat_number); pitImageVId = typedArray.getResourceId(R.styleable.RoomMakeWheatView_room_make_pic, 0); typedArray.recycle(); mIvTagBoss = findViewById(R.id.iv_tag_boos); mTvTime = findViewById(R.id.tv_time); // iv_on_line=findViewById(R.id.iv_online); iv_tag_type = findViewById(R.id.iv_tag_type); mCharmView = findViewById(R.id.charm_view); mRiv.setImageResource(pitImageVId); if (mTvTime != null) { mTvTime.setOnClickListener(v -> { // 处理魅力值点击 if (mOnCharmClickListener != null && pitBean != null) { mOnCharmClickListener.onCharmClick(this, pitBean); } }); } } // @Override // public void setOnClickListener(OnClickListener l) { // // 保存外部设置的点击监听器 // this.onWholeViewClickListener = l; // super.setOnClickListener(l); // } // 为子组件设置点击监听器时,确保不会拦截父容器的点击事件 public void setupChildClickListeners() { if (mRiv != null) { mRiv.setOnClickListener(v -> { // 处理头像点击 if (onWholeViewClickListener != null) { onWholeViewClickListener.onClick(this); } }); } } private OnClickListener onWholeViewClickListener; @Override protected int getLayoutId() { return R.layout.room_view_make_wheat; } public void setShowZl(boolean show) { if (iv_zhul != null) { iv_zhul.setVisibility(show ? VISIBLE : GONE); } } @Override protected void setPitData(RoomPitBean bean) { sex = bean.getSex(); if (isOn()) { //开启声浪 if (mIvRipple != null) { mIvRipple.stopAnimation(true); mIvRipple.setVisibility(VISIBLE); } mTvName.setText(bean.getNickname()); ImageUtils.loadHeadCC(bean.getAvatar(), mRiv); if (TextUtils.isEmpty(pitBean.getDress())) { mIvFrame.stopAll(); mIvFrame.setVisibility(INVISIBLE); } else { mIvFrame.setVisibility(VISIBLE); mIvFrame.setSource(pitBean.getDress(), 3); } if (showBoss && WHEAT_BOSS.equals(pitNumber)) { mIvTagBoss.setVisibility(GONE); } } else { mTvName.setText((!"8".equals(pitBean.getPit_number()) && !"9".equals(pitBean.getPit_number())) ? pitBean.getPit_number() : ""); //麦位上锁 //麦位上锁 if (showBoss && WHEAT_BOSS.equals(pitNumber)) { mIvTagBoss.setVisibility(VISIBLE); ImageUtils.loadRes(isLocked() ? R.mipmap.room_ic_wheat_default_suo : R.mipmap.room_ic_wheat_default, mRiv); } else { mRiv.setImageResource(bean.getIs_lock() == 1 ? R.mipmap.room_ic_wheat_default_suo : R.mipmap.room_ic_wheat_default); } if (isMute()) { ImageUtils.loadRes(R.mipmap.room_microphone_off, mIvSex); } mIvFrame.stopAll(); mIvFrame.setVisibility(INVISIBLE); mIvFace.remove(); //停止声浪 if (mIvRipple != null) { mIvRipple.stopAnimation(true); mIvRipple.setVisibility(GONE); } } if (showSexIcon) { checkSex(); } // if (pitBean.getIs_online()==0 && pitBean.getUser_id()!=null && !pitBean.getUser_id().equals("0")){ // iv_on_line.setVisibility(VISIBLE); // }else { // iv_on_line.setVisibility(GONE); // } if (pitBean.getPit_number().equals("888")) { iv_tag_type.setVisibility(GONE); mCharmView.setVisibility(GONE); mTvName.setText(pitBean.getNickname() != null && !pitBean.getNickname().equals("") ? pitBean.getNickname() : "拍卖者"); mTvName.setBackgroundResource(com.xscm.moduleutil.R.mipmap.za_maiw_b); } else if (pitBean.getPit_number().equals("9")) { iv_tag_type.setVisibility(VISIBLE); mCharmView.setVisibility(GONE); } else if (pitBean.getPit_number().equals("111") || pitBean.getPit_number().equals("222") || pitBean.getPit_number().equals("333")) { iv_tag_type.setVisibility(GONE); mTvName.setVisibility(GONE); mCharmView.setVisibility(GONE); if (pitBean.getUser_id() == null || pitBean.getUser_id().equals("0") || pitBean.getUser_id().isEmpty()) { mTvTime.setVisibility(GONE); } else { mTvTime.setVisibility(VISIBLE); } mTvTime.setText(StringUtil.toWan2(pitBean.getCharm(), 1)); } else if (pitBean.getPit_number().equals("000")) { iv_tag_type.setVisibility(GONE); mCharmView.setVisibility(GONE); } // mCharmView.setOnClickListener(new OnClickListener() { // // @Override // public void onClick(View v) { // if (mOnCharmClickListener != null && pitBean != null){ // mOnCharmClickListener.onCharmClick(RoomMakeWheatView.this, pitBean); // } // } // }); } public void setmTvTime(String charm) { mTvTime.setText(StringUtil.toWan2(pitBean.getCharm(), 1)); } private onCharmClickListener mOnCharmClickListener; // public void setmOnCharmClickListener(onCharmClickListener mOnCharmClickListener) { this.mOnCharmClickListener = mOnCharmClickListener; } // public interface onCharmClickListener { void onCharmClick(RoomMakeWheatView view, RoomPitBean pitBean); } public void setChe(String che) { } public boolean isMale() { return "1".equals(sex); } public boolean isFemale() { return "2".equals(sex); } public void setShowSexIcon(boolean show) { showSexIcon = show; } public void checkSex() { if (isOn()) { mIvSex.setVisibility(VISIBLE); } else { mIvSex.setVisibility(GONE); if (mTvNo != null) mTvNo.setBackgroundResource(getOriginNoImage()); } } /** * 是否显示老板标识 */ public void setIsBossShow(String is_boss_pit) { showBoss = "1".equals(is_boss_pit); } /** * 开启计时 */ public void setTime(int time) { if (time == 0) { mTvTime.setText(""); mTvTime.setVisibility(INVISIBLE); } else { mTvTime.setText(String.format("%s'%s", time / 60, time % 60)); mTvTime.setVisibility(VISIBLE); } } public void hideMaoziIcon() { View maozi = findViewById(R.id.iv_maozi); if (maozi != null) maozi.setVisibility(GONE); } @Override public void onRemoteSoundLevelUpdate(String userId, int soundLevel) { } @Override public void onLocalSoundLevelUpdate(int volume) { } @Override public void userJoined(int userId, int elapsd) { } @Override public void userOffline(int userId, int reason) { } @Override public void pkOffSide(int uid) { } public void setOnlineStatus(UserOnlineStatusBean isOnline) { if (pitBean.getUser_id() != null && !pitBean.getUser_id().equals("0") && !pitBean.getUser_id().isEmpty()) { if (pitBean.getUser_id().equals(isOnline.getUser_id())) { if (isOnline.getIs_online() == 1) { // iv_on_line.setVisibility(GONE); } else { // iv_on_line.setVisibility(VISIBLE); } } } } @Override public void unRegister(Object obj) { } }