部分展示用户ID的页面增加复制ID功能
This commit is contained in:
@@ -33,6 +33,7 @@ import com.mango.core.user.bean.UserInfo
|
||||
import com.mango.core.user.event.LoginUserInfoUpdateEvent
|
||||
import com.mango.core.utils.CurrentTimeUtils
|
||||
import com.mango.core.utils.StarUtils
|
||||
import com.mango.core.utils.toast
|
||||
import com.mango.moshen.R
|
||||
import com.mango.moshen.UIHelper
|
||||
import com.mango.moshen.avroom.activity.AVRoomActivity
|
||||
@@ -64,6 +65,7 @@ import com.mango.moshen.utils.UserUtils
|
||||
import com.mango.moshen.vip.VipMainActivity
|
||||
import com.mango.moshen.vip.VipMainViewModel
|
||||
import com.mango.xchat_android_library.utils.FormatUtils
|
||||
import com.netease.nim.uikit.common.util.sys.ClipboardUtil
|
||||
import com.netease.nim.uikit.common.util.sys.TimeUtil
|
||||
import com.trello.rxlifecycle3.android.FragmentEvent
|
||||
import io.reactivex.Observable
|
||||
@@ -543,6 +545,13 @@ class MeFragment : BaseFragment(), View.OnClickListener {
|
||||
)
|
||||
}
|
||||
R.id.ll_pm_mode -> PatriarchModeActivity.start(mContext)
|
||||
R.id.tv_user_id -> {
|
||||
mUserInfo?.let {
|
||||
ClipboardUtil.clipboardCopyText(it.erbanNo.toString())
|
||||
} ?: run {
|
||||
"数据加载中,请稍后再试!".toast()
|
||||
}
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
@@ -1115,7 +1115,7 @@ public class MessageListPanelEx {
|
||||
}
|
||||
|
||||
private void onCopyMessageItem(IMMessage item) {
|
||||
ClipboardUtil.clipboardCopyText(container.activity, item.getContent());
|
||||
ClipboardUtil.clipboardCopyText(item.getContent());
|
||||
}
|
||||
|
||||
// 长按菜单项--删除
|
||||
|
@@ -20,6 +20,7 @@ import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import com.netease.nim.uikit.StatusBarUtil;
|
||||
import com.netease.nim.uikit.common.util.sys.ClipboardUtil;
|
||||
import com.netease.nim.uikit.impl.cache.NimUserInfoCache;
|
||||
import com.netease.nimlib.sdk.RequestCallbackWrapper;
|
||||
import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
|
||||
@@ -179,6 +180,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
|
||||
mBinding.ivEdit.setOnClickListener(this);
|
||||
mBinding.tvEdit.setOnClickListener(this);
|
||||
mBinding.ivWhere.setOnClickListener(this);
|
||||
mBinding.tvErbanId.setOnClickListener(this);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -540,6 +542,13 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
|
||||
AVRoomActivity.FROM_TYPE_USER, userInfo.getNick(), String.valueOf(userInfo.getUid()));
|
||||
}
|
||||
break;
|
||||
case R.id.tv_erban_id:
|
||||
if (userInfo == null) {
|
||||
toast("数据加载中,请稍后再试!");
|
||||
return;
|
||||
}
|
||||
ClipboardUtil.clipboardCopyText(String.valueOf(userInfo.getErbanNo()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -18,6 +18,7 @@ import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatDialog;
|
||||
import androidx.appcompat.widget.AppCompatImageView;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
@@ -83,6 +84,7 @@ import com.mango.xchat_android_library.net.rxnet.callback.CallBack;
|
||||
import com.mango.xchat_android_library.utils.ListUtils;
|
||||
import com.mango.xchat_android_library.utils.SingleToastUtil;
|
||||
import com.mango.xchat_android_library.utils.config.BasicConfig;
|
||||
import com.netease.nim.uikit.common.util.sys.ClipboardUtil;
|
||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
|
||||
import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder;
|
||||
import com.netease.nimlib.sdk.chatroom.model.ChatRoomKickOutEvent;
|
||||
@@ -110,10 +112,11 @@ import io.reactivex.disposables.Disposable;
|
||||
*/
|
||||
|
||||
public class UserInfoDialog extends AppCompatDialog implements View.OnClickListener {
|
||||
@NonNull
|
||||
private final UserInfo userInfo;
|
||||
private Context context;
|
||||
private long uid;
|
||||
private boolean isAttention;
|
||||
private UserInfo userInfo;
|
||||
private ImageView closeImage;
|
||||
private FrameLayout avatarLayout;
|
||||
private ImageView ivAvatarHeadWear;
|
||||
@@ -230,6 +233,7 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
||||
ivAvatarBg = findViewById(R.id.iv_avatar_bg);
|
||||
nick = findViewById(R.id.nick);
|
||||
erbanId = findViewById(R.id.tv_erban_id);
|
||||
erbanId.setOnClickListener(this);
|
||||
ivGender = findViewById(R.id.iv_gender);
|
||||
ivVipIcon = findViewById(R.id.iv_vip_icon);
|
||||
fansNumber = findViewById(R.id.fans_number);
|
||||
@@ -772,7 +776,11 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
||||
UserInfoActivity.Companion.start(context, uid);
|
||||
dismiss();
|
||||
break;
|
||||
case R.id.tv_erban_id:
|
||||
ClipboardUtil.clipboardCopyText(String.valueOf(userInfo.getErbanNo()));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
BIN
app/src/main/res/drawable-xhdpi/ic_copy_id.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_copy_id.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 648 B |
BIN
app/src/main/res/drawable-xhdpi/ic_copy_id_white.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_copy_id_white.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 544 B |
@@ -177,6 +177,7 @@
|
||||
android:gravity="center_vertical"
|
||||
android:includeFontPadding="false"
|
||||
android:maxLines="1"
|
||||
android:drawableEnd="@drawable/ic_copy_id_white"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="11dp"
|
||||
tools:text="ID:7958626" />
|
||||
|
@@ -246,6 +246,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/white_transparent_50"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:drawableEnd="@drawable/ic_copy_id_white"
|
||||
tools:text="ID123456" />
|
||||
</LinearLayout>
|
||||
|
||||
|
@@ -47,8 +47,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:onClick="@{click}"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/me_item_setting">
|
||||
|
||||
<com.mango.moshen.common.widget.CircleImageView
|
||||
@@ -90,8 +90,8 @@
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="30dp"
|
||||
app:layout_constraintHorizontal_bias="0"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_head_wear"
|
||||
app:layout_constraintTop_toTopOf="@id/iv_head_wear">
|
||||
|
||||
@@ -101,8 +101,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:drawablePadding="5dp"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:maxLength="10"
|
||||
android:maxLines="1"
|
||||
android:text="@{userInfo.nick}"
|
||||
android:textColor="@color/text_title_white"
|
||||
android:textSize="@dimen/sp_16"
|
||||
@@ -129,9 +129,10 @@
|
||||
android:id="@+id/tv_user_id"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawablePadding="4dp"
|
||||
android:drawableEnd="@drawable/ic_copy_id"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:onClick="@{click}"
|
||||
android:textColor="@color/text_secondary_4f516a"
|
||||
android:textSize="@dimen/dp_13"
|
||||
tools:ignore="SpUsage"
|
||||
@@ -152,20 +153,6 @@
|
||||
tools:ignore="ContentDescription"
|
||||
tools:src="@drawable/ic_gender_female" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_constellation"
|
||||
android:layout_width="42dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:background="@drawable/bg_me_sign"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="10sp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_sex"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_sex"
|
||||
app:layout_constraintTop_toTopOf="@id/iv_sex"
|
||||
tools:ignore="SmallSp"
|
||||
tools:text="摩羯座" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_icon"
|
||||
@@ -215,6 +202,19 @@
|
||||
android:visibility="gone"
|
||||
tools:ignore="SmallSp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_constellation"
|
||||
android:layout_width="42dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:background="@drawable/bg_me_sign"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="10sp"
|
||||
tools:ignore="SmallSp"
|
||||
tools:text="摩羯座" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
@@ -1093,7 +1093,7 @@ public class MessageListPanelEx {
|
||||
}
|
||||
|
||||
private void onCopyMessageItem(IMMessage item) {
|
||||
ClipboardUtil.clipboardCopyText(container.activity, item.getContent());
|
||||
ClipboardUtil.clipboardCopyText(item.getContent());
|
||||
}
|
||||
|
||||
// 长按菜单项--删除
|
||||
|
@@ -1,19 +1,23 @@
|
||||
package com.netease.nim.uikit.common.util.sys;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.ClipboardManager;
|
||||
import static android.content.Context.CLIPBOARD_SERVICE;
|
||||
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
|
||||
import com.mango.xchat_android_library.utils.SingleToastUtil;
|
||||
import com.mango.xchat_android_library.utils.config.BasicConfig;
|
||||
|
||||
public class ClipboardUtil {
|
||||
public static final void clipboardCopyText(Context context, CharSequence text) {
|
||||
ClipboardManager cm = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
if (cm != null) {
|
||||
cm.setText(text);
|
||||
}
|
||||
|
||||
public static void clipboardCopyText(CharSequence text) {
|
||||
ClipboardManager myClipboard;
|
||||
myClipboard = (android.content.ClipboardManager) BasicConfig.INSTANCE.getAppContext().getSystemService(CLIPBOARD_SERVICE);
|
||||
ClipData myClip;
|
||||
myClip = ClipData.newPlainText("text", text);
|
||||
if (myClipboard != null)
|
||||
myClipboard.setPrimaryClip(myClip);
|
||||
SingleToastUtil.showToast("复制成功");
|
||||
}
|
||||
|
||||
public static final int clipboardTextLength(Context context) {
|
||||
ClipboardManager cm = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
CharSequence text = cm != null ? cm.getText() : null;
|
||||
return text != null ? text.length() : 0;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user