新增通过后端获取国家地区信息接口
调整送联系方式礼物时,不选择其他礼物 调整联系方式礼物接口 调整在模拟器超大分辨率模式下,信箱ui异常问题
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package com.yunbao.share.adapters;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Typeface;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -29,12 +31,12 @@ public class InviteRewardListAdapter extends RecyclerView.Adapter<InviteRewardLi
|
||||
@NonNull
|
||||
@Override
|
||||
public RewardViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
return new RewardViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_invite_reward,parent,false));
|
||||
return new RewardViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_invite_reward, parent, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RewardViewHolder holder, int position) {
|
||||
holder.setData(list.get(position),position);
|
||||
holder.setData(list.get(position), position);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -48,6 +50,7 @@ public class InviteRewardListAdapter extends RecyclerView.Adapter<InviteRewardLi
|
||||
private final TextView item2;
|
||||
private final TextView item3;
|
||||
private final TextView item4;
|
||||
private final View divider, divider2;
|
||||
|
||||
public RewardViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
@@ -55,6 +58,8 @@ public class InviteRewardListAdapter extends RecyclerView.Adapter<InviteRewardLi
|
||||
item2 = itemView.findViewById(R.id.item2);
|
||||
item3 = itemView.findViewById(R.id.item3);
|
||||
item4 = itemView.findViewById(R.id.item4);
|
||||
divider = itemView.findViewById(R.id.divider);
|
||||
divider2 = itemView.findViewById(R.id.divider2);
|
||||
}
|
||||
|
||||
void setData(InviteRewardBean bean, int position) {
|
||||
@@ -62,6 +67,36 @@ public class InviteRewardListAdapter extends RecyclerView.Adapter<InviteRewardLi
|
||||
item2.setText(bean.getInviteTime());
|
||||
item3.setText(bean.getType());
|
||||
item4.setText(bean.getReward());
|
||||
if (position != 0) {
|
||||
divider.setVisibility(View.GONE);
|
||||
divider2.setVisibility(View.GONE);
|
||||
setColor("#2F87B2", item1, item2, item3, item4);
|
||||
setType(Typeface.NORMAL, item1, item2, item3, item4);
|
||||
} else {
|
||||
setColor("#236586", item1, item2, item3, item4);
|
||||
setType(Typeface.BOLD, item1, item2, item3, item4);
|
||||
}
|
||||
setSize(13, item1, item2, item3, item4);
|
||||
}
|
||||
|
||||
void setColor(String color, TextView... textView) {
|
||||
for (TextView view : textView) {
|
||||
view.setTextColor(Color.parseColor(color));
|
||||
}
|
||||
}
|
||||
|
||||
void setSize(float size, TextView... textView) {
|
||||
for (TextView view : textView) {
|
||||
view.setTextSize(size);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void setType(int type, TextView... textView) {
|
||||
for (TextView view : textView) {
|
||||
view.setTypeface(Typeface.defaultFromStyle(type));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,10 @@ import android.app.Dialog;
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.LinearGradient;
|
||||
import android.graphics.Shader;
|
||||
import android.view.ViewTreeObserver;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -15,6 +19,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.pdlive.shayu.R;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
@@ -31,12 +36,14 @@ public class InvitePopDialog extends AbsDialogPopupWindow {
|
||||
private RoundedImageView avatar;
|
||||
private TextView info;
|
||||
private TextView link;
|
||||
private TextView title;
|
||||
private List<ShareBuilder> data;
|
||||
|
||||
private String uid;
|
||||
private String anchorId;
|
||||
private String anchorName;
|
||||
private String anchorAvatar;
|
||||
private String url;
|
||||
|
||||
public InvitePopDialog(@NonNull Context context) {
|
||||
super(context);
|
||||
@@ -78,11 +85,9 @@ public class InvitePopDialog extends AbsDialogPopupWindow {
|
||||
super.onCreate();
|
||||
findViewById(R.id.close).setOnClickListener(v -> dismiss());
|
||||
findViewById(R.id.share_copy).setOnClickListener(v -> copyLink());
|
||||
findViewById(R.id.share_title).setOnClickListener(v -> copyLink());
|
||||
findViewById(R.id.share_preview).setVisibility(GONE);
|
||||
// findViewById(R.id.share_preview).setVisibility(GONE);
|
||||
findViewById(R.id.share_dialog).setBackgroundResource(R.mipmap.bg_dialog_inviet);
|
||||
((TextView) findViewById(R.id.share_title)).setText(R.string.dialog_invite_title);
|
||||
((TextView) findViewById(R.id.share_title)).setTextColor(R.drawable.bg_invite_title);
|
||||
title = findViewById(R.id.share_title);
|
||||
list = findViewById(R.id.share_apps_list);
|
||||
avatar = findViewById(R.id.share_avatar);
|
||||
info = findViewById(R.id.share_info);
|
||||
@@ -91,6 +96,28 @@ public class InvitePopDialog extends AbsDialogPopupWindow {
|
||||
list.setLayoutManager(new GridLayoutManager(getContext(), 3));
|
||||
list.setAdapter(adapter);
|
||||
initData();
|
||||
link.setText(url.substring(0, 40));
|
||||
info.setText(R.string.dialog_invite_info);
|
||||
avatar.setImageResource(R.mipmap.ic_launcher);
|
||||
//title.setTextColor(getContext().getResources().getColorStateList(R.drawable.bg_invite_title));
|
||||
title.setText(R.string.dialog_invite_title);
|
||||
title.setOnClickListener(v -> copyLink());
|
||||
title.getViewTreeObserver().addOnGlobalLayoutListener(this::setTitleColor);
|
||||
}
|
||||
|
||||
private void setTitleColor() {
|
||||
int[] colors = {
|
||||
Color.parseColor("#3377FF"),
|
||||
Color.parseColor("#7F66FF"),
|
||||
};
|
||||
float[] position = {
|
||||
0f,
|
||||
1.0f
|
||||
};
|
||||
float height = title.getMeasuredHeight();
|
||||
LinearGradient mLinearGradient = new LinearGradient(0, 0, 0, height, colors, position, Shader.TileMode.CLAMP);
|
||||
title.getPaint().setShader(mLinearGradient);
|
||||
title.invalidate();
|
||||
}
|
||||
|
||||
private void initData() {
|
||||
@@ -100,15 +127,15 @@ public class InvitePopDialog extends AbsDialogPopupWindow {
|
||||
data.add(builder(ShareBuilder.APP_TWITTER));
|
||||
data.add(builder(ShareBuilder.APP_WHATSAPP));
|
||||
data.add(builder(ShareBuilder.APP_MESSENGER));
|
||||
// data.add(builder(ShareBuilder.APP_INSTAGRAM));
|
||||
// data.add(builder(ShareBuilder.APP_INSTAGRAM));
|
||||
adapter.setList(data);
|
||||
|
||||
}
|
||||
|
||||
private ShareBuilder builder(int type) {
|
||||
ShareBuilder builder = ShareBuilder.builder(type);
|
||||
//builder.setText(WordUtil.getString(R.string.dialog_share_info));
|
||||
builder.setLink(ShareBuilder.createInviteLink(uid));
|
||||
builder.setText(WordUtil.getString(R.string.dialog_share_info));
|
||||
builder.setLink(url);
|
||||
builder.setUid(uid);
|
||||
builder.setAnchorId(anchorId);
|
||||
builder.setAnchorName(anchorName);
|
||||
@@ -118,14 +145,19 @@ public class InvitePopDialog extends AbsDialogPopupWindow {
|
||||
|
||||
private void copyLink() {
|
||||
ClipboardManager cm = (ClipboardManager) getContext().getSystemService(CLIPBOARD_SERVICE);
|
||||
ClipData clipData = ClipData.newPlainText("text", link.getText().toString());
|
||||
ClipData clipData = ClipData.newPlainText("text", url);
|
||||
cm.setPrimaryClip(clipData);
|
||||
ToastUtil.show(WordUtil.getString(com.yunbao.common.R.string.copy_success));
|
||||
DialogUitl.showSimpleDialog(getContext(), ShareBuilder.createInviteLink(uid), new DialogUitl.SimpleCallback() {
|
||||
DialogUitl.showSimpleDialog(getContext(),url, new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public InvitePopDialog setUrl(String data) {
|
||||
this.url = data+"&isGoogle="+ (CommonAppConfig.IS_GOOGLE_PLAY ? "1" : "0");
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,9 @@ import android.app.Dialog;
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.LinearGradient;
|
||||
import android.graphics.Shader;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -19,6 +22,8 @@ import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.share.adapters.InviteRewardListAdapter;
|
||||
import com.yunbao.share.bean.InviteRewardBean;
|
||||
import com.yunbao.share.bean.ShareBuilder;
|
||||
import com.yunbao.share.adapters.ShareAppAdapter;
|
||||
|
||||
@@ -26,13 +31,13 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class InviteRewardPopDialog extends AbsDialogPopupWindow {
|
||||
private ShareAppAdapter adapter;
|
||||
private InviteRewardListAdapter adapter;
|
||||
private RecyclerView list;
|
||||
private RoundedImageView avatar;
|
||||
private TextView info;
|
||||
private TextView link;
|
||||
private List<ShareBuilder> data;
|
||||
|
||||
private List<InviteRewardBean> data;
|
||||
private TextView title;
|
||||
private String uid;
|
||||
private String anchorId;
|
||||
private String anchorName;
|
||||
@@ -78,29 +83,41 @@ public class InviteRewardPopDialog extends AbsDialogPopupWindow {
|
||||
super.onCreate();
|
||||
findViewById(R.id.close).setOnClickListener(v -> dismiss());
|
||||
findViewById(R.id.share_copy).setOnClickListener(v -> copyLink());
|
||||
findViewById(R.id.share_title).setOnClickListener(v -> copyLink());
|
||||
findViewById(R.id.share_preview).setVisibility(GONE);
|
||||
findViewById(R.id.share_dialog).setBackgroundResource(R.mipmap.bg_dialog_inviet);
|
||||
((TextView) findViewById(R.id.share_title)).setText(R.string.dialog_invite_title);
|
||||
((TextView) findViewById(R.id.share_title)).setTextColor(R.drawable.bg_invite_title);
|
||||
title = findViewById(R.id.share_title);
|
||||
title.setOnClickListener(v -> copyLink());
|
||||
title.setText(R.string.dialog_invite_reward_title);
|
||||
list = findViewById(R.id.share_apps_list);
|
||||
avatar = findViewById(R.id.share_avatar);
|
||||
info = findViewById(R.id.share_info);
|
||||
link = findViewById(R.id.share_link);
|
||||
adapter = new ShareAppAdapter(getContext());
|
||||
list.setLayoutManager(new LinearLayoutManager(getContext(),RecyclerView.VERTICAL,false));
|
||||
adapter = new InviteRewardListAdapter(getContext());
|
||||
list.setLayoutManager(new LinearLayoutManager(getContext(), RecyclerView.VERTICAL, false));
|
||||
list.setAdapter(adapter);
|
||||
initData();
|
||||
title.getViewTreeObserver().addOnGlobalLayoutListener(this::setTitleColor);
|
||||
}
|
||||
private void setTitleColor(){
|
||||
int[] colors = {
|
||||
Color.parseColor("#3377FF"),
|
||||
Color.parseColor("#7F66FF"),
|
||||
};
|
||||
float[] position = {
|
||||
0f,
|
||||
1.0f
|
||||
};
|
||||
float height=title.getMeasuredHeight();
|
||||
LinearGradient mLinearGradient = new LinearGradient(0, 0, 0, height, colors, position, Shader.TileMode.CLAMP);
|
||||
title.getPaint().setShader(mLinearGradient);
|
||||
title.invalidate();
|
||||
}
|
||||
|
||||
private void initData() {
|
||||
data = new ArrayList<>();
|
||||
data.add(builder(ShareBuilder.APP_FACEBOOK));
|
||||
data.add(builder(ShareBuilder.APP_LINE));
|
||||
data.add(builder(ShareBuilder.APP_TWITTER));
|
||||
data.add(builder(ShareBuilder.APP_WHATSAPP));
|
||||
data.add(builder(ShareBuilder.APP_MESSENGER));
|
||||
// data.add(builder(ShareBuilder.APP_INSTAGRAM));
|
||||
data.add(new InviteRewardBean("標題", "邀請時間", "用戶等級", "獲得獎勵"));
|
||||
for (int i = 0; i < 5; i++) {
|
||||
data.add(new InviteRewardBean("用戶" + 1, "時間" + 1, "等級" + 1, "獎勵" + 1));
|
||||
}
|
||||
adapter.setList(data);
|
||||
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<View
|
||||
android:id="@+id/divider"
|
||||
@@ -29,6 +29,7 @@
|
||||
android:id="@+id/item1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textStyle=""
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="TextView" />
|
||||
|
||||
Reference in New Issue
Block a user