This commit is contained in:
2023-10-12 14:40:47 +08:00
parent 095574296f
commit 5ee72410b7
33 changed files with 1513 additions and 25 deletions

View File

@@ -0,0 +1,93 @@
package com.shayu.onetoone.dialog;
import android.content.Context;
import android.graphics.Color;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import com.lxj.xpopup.core.AttachPopupView;
import com.lxj.xpopup.core.BubbleAttachPopupView;
import com.shayu.onetoone.R;
import com.shayu.onetoone.event.MessageMsgBusEvent;
import com.shayu.onetoone.manager.RouteManager;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DpUtil;
import java.util.List;
/**
* 聊天界面长按气泡菜单
*/
public class MsgChatClickDialog extends AttachPopupView implements View.OnClickListener {
LinearLayout rootView;
List<String> list;
OnItemClickListener<String> onItemClickListener;
public MsgChatClickDialog(@NonNull Context context) {
super(context);
}
public MsgChatClickDialog setList(List<String> list) {
this.list = list;
return this;
}
public MsgChatClickDialog setOnItemClickListener(OnItemClickListener<String> onItemClickListener) {
this.onItemClickListener = onItemClickListener;
return this;
}
@Override
protected int getImplLayoutId() {
return R.layout.dialog_msg_chat_click;
}
@Override
protected boolean isShowUpToTarget() {
return true;
}
@Override
protected void onCreate() {
super.onCreate();
isShowUp = true;
rootView = findViewById(R.id.rootView);
rootView.setGravity(Gravity.CENTER);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT);
params.gravity = Gravity.CENTER;
for (int i = 0; i < list.size(); i++) {
String item = list.get(i);
TextView textView = new TextView(getContext());
textView.setText(item);
textView.setGravity(Gravity.CENTER);
textView.setTag(i);
textView.setTextColor(Color.WHITE);
textView.setLayoutParams(params);
textView.setOnClickListener(this);
rootView.addView(textView,params);
TextView tmp = new TextView(getContext());
tmp.setLayoutParams(params);
tmp.setText(" | ");
tmp.setGravity(Gravity.CENTER);
tmp.setTextColor(Color.WHITE);
rootView.addView(tmp,params);
}
rootView.removeViewAt(rootView.getChildCount()-1);
}
@Override
public void onClick(View v) {
if (onItemClickListener != null) {
onItemClickListener.onItemClick(((TextView) v).getText().toString(), (Integer) v.getTag());
}
dismiss();
}
}