update
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user