Merge branch 'master' into pdlive_samsung
# Conflicts: # config.gradle # live/src/main/java/com/yunbao/live/views/SystemMessageViewHolder.java
@@ -158,6 +158,7 @@
|
||||
android:screenOrientation="portrait" />
|
||||
<activity android:name=".activity.UserAvatarSelectActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity android:name=".activity.BattlePassActivity" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -0,0 +1,257 @@
|
||||
package com.yunbao.main.activity;
|
||||
|
||||
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||
import androidx.viewpager2.widget.ViewPager2;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.bean.BattlePassUserInfoBean;
|
||||
import com.yunbao.common.bean.LiveBattlePassRewardsBean;
|
||||
import com.yunbao.common.dialog.ActivateEliteBattleOrderPopupWindow;
|
||||
import com.yunbao.common.dialog.ActivityEndPopupWindow;
|
||||
import com.yunbao.common.dialog.LiberalBattlePassPopupWindow;
|
||||
import com.yunbao.common.dialog.PromotionElitePopupWindow;
|
||||
import com.yunbao.common.dialog.RuleOfWarPopupWindow;
|
||||
import com.yunbao.common.fragment.BaseFragment;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DeviceUtils;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.SpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.event.BattlePassTypeEvent;
|
||||
import com.yunbao.main.fragment.BattlePassExchangeFragment;
|
||||
import com.yunbao.main.fragment.BattlePassMissionFragment;
|
||||
import com.yunbao.main.fragment.BattlePassRewardFragment;
|
||||
import com.yunbao.main.interfaces.BattlePassUserInfoListener;
|
||||
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 战令
|
||||
*/
|
||||
@Route(path = RouteUtil.PATH_BattlePassActivity)
|
||||
public class BattlePassActivity extends AbsActivity {
|
||||
ImageView rule, tab1, tab2, tab3;
|
||||
ViewPager2 viewPager;
|
||||
List<BaseFragment> fragments;
|
||||
TextView sessionView;
|
||||
TextView timeView;
|
||||
TextView levelView;
|
||||
TextView expText;
|
||||
ProgressBar levelProgressView;
|
||||
TextView integralView;
|
||||
Button moreIntegralButton;
|
||||
String enjoySpendMoney = "";
|
||||
String quintessenceSpendMoney = "";
|
||||
|
||||
BattlePassUserInfoBean data;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_battlepass;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void main(Bundle savedInstanceState) {
|
||||
super.main(savedInstanceState);
|
||||
Bus.getOn(this);
|
||||
initView();
|
||||
initData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
Bus.getOff(this);
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
fragments = new ArrayList<>();
|
||||
rule = findViewById(R.id.rule);
|
||||
tab1 = findViewById(R.id.tab_1);
|
||||
tab2 = findViewById(R.id.tab_2);
|
||||
tab3 = findViewById(R.id.tab_3);
|
||||
expText = findViewById(R.id.exp_text);
|
||||
viewPager = findViewById(R.id.context_layout);
|
||||
fragments.add(new BattlePassRewardFragment(() -> data));
|
||||
fragments.add(new BattlePassMissionFragment(() -> data));
|
||||
fragments.add(new BattlePassExchangeFragment(() -> data));
|
||||
viewPager.setAdapter(new FragmentStateAdapter(this) {
|
||||
@NonNull
|
||||
@Override
|
||||
public Fragment createFragment(int position) {
|
||||
return fragments.get(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return fragments.size();
|
||||
}
|
||||
});
|
||||
viewPager.setUserInputEnabled(false);
|
||||
ViewClicksAntiShake.clicksAntiShake(tab1, () -> clickView(0));
|
||||
ViewClicksAntiShake.clicksAntiShake(tab2, () -> clickView(1));
|
||||
ViewClicksAntiShake.clicksAntiShake(tab3, () -> clickView(2));
|
||||
|
||||
sessionView = findViewById(R.id.session);
|
||||
timeView = findViewById(R.id.time);
|
||||
levelView = findViewById(R.id.level);
|
||||
levelProgressView = findViewById(R.id.level_progress);
|
||||
integralView = findViewById(R.id.integral);
|
||||
moreIntegralButton = findViewById(R.id.more_integral);
|
||||
|
||||
ViewClicksAntiShake.clicksAntiShake(moreIntegralButton, () -> {
|
||||
new XPopup.Builder(mContext)
|
||||
.enableDrag(false)
|
||||
.maxWidth(DeviceUtils.getScreenHeight(mContext) - DpUtil.dp2px(34))
|
||||
.asCustom(new PromotionElitePopupWindow(mContext,
|
||||
enjoySpendMoney,
|
||||
quintessenceSpendMoney,
|
||||
new LiberalBattlePassPopupWindow.LiberalBattlePassCallback() {
|
||||
@Override
|
||||
public void onCallback(int code, String msg) {
|
||||
if (code == 1001) {
|
||||
new DialogUitl.Builder(mContext)
|
||||
.setView(com.yunbao.live.R.layout.dialog_live_unfollow)
|
||||
.setConfirmString(getString(com.yunbao.live.R.string.charge))
|
||||
.setContent(getString(com.yunbao.live.R.string.insufficient_balance))
|
||||
.setClickCallback(new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
|
||||
}
|
||||
}).build().show();
|
||||
return;
|
||||
}
|
||||
ToastUtil.show(msg);
|
||||
initData();
|
||||
}
|
||||
},
|
||||
String.valueOf(data.getLive_battle_pass_type().get(1).getId()),
|
||||
String.valueOf(data.getLive_battle_pass_type().get(2).getId())
|
||||
).setUserData(data)
|
||||
)
|
||||
.show();
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(rule, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
new XPopup.Builder(BattlePassActivity.this)
|
||||
.enableDrag(false)
|
||||
.maxWidth(DeviceUtils.getScreenHeight(BattlePassActivity.this) - DpUtil.dp2px(34))
|
||||
.asCustom(new RuleOfWarPopupWindow(
|
||||
BattlePassActivity.this
|
||||
))
|
||||
.show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void clickView(int position) {
|
||||
switch (position) {
|
||||
case 0:
|
||||
tab1.setImageResource(R.mipmap.ic_zl_tab1);
|
||||
tab2.setImageResource(R.mipmap.ic_zl_tab2_unselect);
|
||||
tab3.setImageResource(R.mipmap.ic_zl_tab3_unselect);
|
||||
break;
|
||||
case 1:
|
||||
tab1.setImageResource(R.mipmap.ic_zl_tab1_unselect);
|
||||
tab2.setImageResource(R.mipmap.ic_zl_tab2);
|
||||
tab3.setImageResource(R.mipmap.ic_zl_tab3_unselect);
|
||||
break;
|
||||
case 2:
|
||||
tab1.setImageResource(R.mipmap.ic_zl_tab1_unselect);
|
||||
tab2.setImageResource(R.mipmap.ic_zl_tab2_unselect);
|
||||
tab3.setImageResource(R.mipmap.ic_zl_tab3);
|
||||
break;
|
||||
}
|
||||
viewPager.setCurrentItem(position, false);
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
private void initData() {
|
||||
LiveNetManager.get(mContext)
|
||||
.getBattlePassUserInfo(new HttpCallback<BattlePassUserInfoBean>() {
|
||||
@Override
|
||||
public void onSuccess(BattlePassUserInfoBean data) {
|
||||
BattlePassActivity.this.data = data;
|
||||
sessionView.setText(data.getBattlePassName());
|
||||
timeView.setText(String.format("%s %s - %s",
|
||||
WordUtil.getNewString(R.string.battlepass_user_time),
|
||||
data.getStartTime(),
|
||||
data.getEndTime()
|
||||
));
|
||||
levelView.setText("Lv." + data.getLevel());
|
||||
expText.setText(data.getBattlePassExp() + "/" +
|
||||
(data.getNextLevelExp() == 0 ? data.getBattlePassExp() : data.getNextLevelExp()));
|
||||
levelProgressView.setMax(data.getNextLevelExp());
|
||||
levelProgressView.setMin(data.getLastLevelExp());
|
||||
levelProgressView.setProgress(data.getBattlePassExp());
|
||||
integralView.setText(String.format(WordUtil.getNewString(R.string.battlepass_user_my_integral), data.getPoints()));
|
||||
|
||||
for (LiveBattlePassRewardsBean.BattlePassType passType : data.getLive_battle_pass_type()) {
|
||||
if (passType.getId() == 2) {
|
||||
quintessenceSpendMoney = String.valueOf(passType.getDiamond_value());
|
||||
}
|
||||
if (passType.getId() == 3) {
|
||||
enjoySpendMoney = String.valueOf(passType.getDiamond_value());
|
||||
}
|
||||
}
|
||||
if (!data.isBattlePassStatus() && !SpUtil.getInstance().getBooleanValue("is_battle_pass_status")) {
|
||||
SpUtil.getInstance().setBooleanValue("is_battle_pass_status", true);//ActivityEndPopupWindow
|
||||
new XPopup.Builder(BattlePassActivity.this)
|
||||
.enableDrag(false)
|
||||
.maxWidth(DeviceUtils.getScreenHeight(BattlePassActivity.this) - DpUtil.dp2px(34))
|
||||
.asCustom(new ActivityEndPopupWindow(
|
||||
BattlePassActivity.this
|
||||
))
|
||||
.show();
|
||||
|
||||
}
|
||||
if (data.isBattlePassStatus()) {
|
||||
SpUtil.getInstance().removeValue("is_battle_pass_status");
|
||||
}
|
||||
fragments.get(viewPager.getCurrentItem()).updateData();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void event(BattlePassTypeEvent event) {
|
||||
if (event.getType() == 0) {
|
||||
initData();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@ import android.os.Build;
|
||||
import android.provider.MediaStore;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.webkit.ValueCallback;
|
||||
@@ -234,12 +235,25 @@ public class CustomerServiceWebViewActivity extends AbsActivity {
|
||||
}
|
||||
|
||||
protected boolean canGoBack() {
|
||||
return mWebView != null && mWebView.canGoBack();
|
||||
// return mWebView != null && mWebView.canGoBack();
|
||||
ToastUtil.showDebug("2调用js userBackShowPraise");
|
||||
mWebView.loadUrl("javascript:userBackShowPraise()");
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
// finish();
|
||||
ToastUtil.showDebug("调用js userBackShowPraise");
|
||||
mWebView.loadUrl("javascript:userBackShowPraise()");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
finish();
|
||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
||||
if(keyCode==KeyEvent.KEYCODE_ESCAPE || keyCode==KeyEvent.KEYCODE_BACK){
|
||||
onBackPressed();
|
||||
return false;
|
||||
}
|
||||
return super.onKeyDown(keyCode, event);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -389,7 +389,8 @@ public class EntryActivity extends AppCompatActivity {
|
||||
public void onClick(View v) {
|
||||
if (!"".equals(kefuUrl)) {
|
||||
Constants.LoginKefu = true;
|
||||
WebViewActivity.forward(EntryActivity.this, kefuUrl, false);
|
||||
// WebViewActivity.forward(EntryActivity.this, kefuUrl, false);
|
||||
RouteUtil.forwardCustomerService(kefuUrl);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -74,6 +74,7 @@ import com.yunbao.common.event.MainHomeCommunityToChatEvent;
|
||||
import com.yunbao.common.event.MessageIMEvent;
|
||||
import com.yunbao.common.event.NoviceInstructorEvent;
|
||||
import com.yunbao.common.event.RongIMConnectionStatusEvent;
|
||||
import com.yunbao.common.event.SudGameUserEvent;
|
||||
import com.yunbao.common.event.UpdateTablePointMe;
|
||||
import com.yunbao.common.http.CommonHttpConsts;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
@@ -103,7 +104,9 @@ import com.yunbao.common.views.APKUpdateCustomPopup;
|
||||
import com.yunbao.common.views.AbsMainViewHolder;
|
||||
import com.yunbao.common.views.floatingview.APPEasyFloat;
|
||||
import com.yunbao.common.views.weight.LiveFloatView;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
import com.yunbao.live.dialog.LiveUserDialogFragment;
|
||||
import com.yunbao.live.utils.LiveStorge;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.adapter.FullAdToBannerTransition;
|
||||
@@ -189,6 +192,8 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
|
||||
private boolean isfloatBannernet = true, isFirst = true;
|
||||
|
||||
private View floatRedPacket;
|
||||
|
||||
private View floatWarOrder;
|
||||
private List<AnchorStartLiveBean> startListNotifyList = new ArrayList<>();
|
||||
|
||||
|
||||
@@ -244,7 +249,9 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
|
||||
v_table_redpoint = findViewById(R.id.v_table_redpoint);
|
||||
v_table_redpoint_me = (View) findViewById(R.id.v_table_redpoint_me);
|
||||
floatRedPacket = findViewById(R.id.red_packet);
|
||||
floatWarOrder = findViewById(R.id.war_order);
|
||||
initRedPacket();
|
||||
initWarOrder();
|
||||
|
||||
Display mDisplay = getWindowManager().getDefaultDisplay();
|
||||
Height = mDisplay.getHeight();
|
||||
@@ -329,15 +336,27 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
|
||||
case 0:
|
||||
//点击埋点
|
||||
MobclickAgent.onEvent(mContext, "home_page", "首页");
|
||||
if (mMainHomeCommunityViewHolder != null) {
|
||||
mMainHomeCommunityViewHolder.onPauseVideo();
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
MobclickAgent.onEvent(mContext, "community", "社区");
|
||||
if (mMainHomeCommunityViewHolder != null) {
|
||||
mMainHomeCommunityViewHolder.onResumePlay();
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
MobclickAgent.onEvent(mContext, "information", "消息");
|
||||
if (mMainHomeCommunityViewHolder != null) {
|
||||
mMainHomeCommunityViewHolder.onPauseVideo();
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
MobclickAgent.onEvent(mContext, "my", "我的");
|
||||
if (mMainHomeCommunityViewHolder != null) {
|
||||
mMainHomeCommunityViewHolder.onPauseVideo();
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (mTabButtonGroup.getCurPosition() != position) {
|
||||
@@ -501,22 +520,37 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
|
||||
} else if (index == 2) {
|
||||
floatBanner.setVisibility(View.GONE);
|
||||
floatRedPacket.setVisibility(View.GONE);
|
||||
floatWarOrder.setVisibility(View.GONE);
|
||||
findViewById(R.id.banner_click).setVisibility(View.GONE);
|
||||
isfloatBannernet = false;
|
||||
if (mainMessageViewHolder != null) mainMessageViewHolder.onResume();
|
||||
} else {
|
||||
floatBanner.setVisibility(View.GONE);
|
||||
floatRedPacket.setVisibility(View.GONE);
|
||||
floatWarOrder.setVisibility(View.GONE);
|
||||
findViewById(R.id.banner_click).setVisibility(View.GONE);
|
||||
isfloatBannernet = false;
|
||||
}
|
||||
mViewHolders[index].onResume();
|
||||
});
|
||||
//获取指导员账号
|
||||
ConversationIMListManager.get(this).getUserInstructor(this);
|
||||
checkVersion();
|
||||
}
|
||||
|
||||
/**
|
||||
* 展示战令
|
||||
*/
|
||||
private void initWarOrder() {
|
||||
if (floatWarOrder != null) {
|
||||
floatWarOrder.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
RouteUtil.forwardBattlePass();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||
@@ -583,6 +617,11 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
|
||||
@Override
|
||||
public void onSuccess(AnchorRecommendModel data) {
|
||||
if (isFinishing()) return;
|
||||
if (data.getShowWarOrder() == 0) {
|
||||
floatWarOrder.setVisibility(View.GONE);
|
||||
} else {
|
||||
floatWarOrder.setVisibility(View.VISIBLE);
|
||||
}
|
||||
if (data.getListShow() == 1 && data.getList().size() > 2) {
|
||||
floatBanner.setVisibility(View.VISIBLE);
|
||||
findViewById(R.id.banner_click).setVisibility(View.VISIBLE);
|
||||
@@ -599,8 +638,6 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
|
||||
((ProgressBar) floatRedPacket.findViewById(R.id.progress)).setProgress(data.getRedPacketNum());
|
||||
((TextView) floatRedPacket.findViewById(R.id.progressText)).setText(data.getRedPacketNum() + "/" + data.getRedPacketTotal());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1163,9 +1200,6 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
|
||||
private void processResultAndroid5(int resultCode, Intent intent) {
|
||||
if (null == mMainHomeCommunityViewHolder.mValueCallback2) {
|
||||
return;
|
||||
}
|
||||
if (resultCode == RESULT_OK && intent != null) {
|
||||
String dataString = intent.getDataString();
|
||||
ClipData clipData = intent.getClipData();
|
||||
@@ -1180,11 +1214,10 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
|
||||
if (dataString != null) {
|
||||
results = new Uri[]{Uri.parse(dataString)};
|
||||
}
|
||||
mMainHomeCommunityViewHolder.mValueCallback2.onReceiveValue(results);
|
||||
mMainHomeCommunityViewHolder.setValueCallback2(results);
|
||||
} else {
|
||||
mMainHomeCommunityViewHolder.mValueCallback2.onReceiveValue(null);
|
||||
mMainHomeCommunityViewHolder.setValueCallback2(null);
|
||||
}
|
||||
mMainHomeCommunityViewHolder.mValueCallback2 = null;
|
||||
}
|
||||
|
||||
public void isClose(String isClose) {
|
||||
@@ -1427,6 +1460,11 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
|
||||
findViewById(R.id.banner_click).setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onSudGameUserEvent(SudGameUserEvent event) {
|
||||
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLiveFloatEvent(LiveFloatEvent event) {
|
||||
if (event != null && event.getmLiveBean() != null && !TextUtils.isEmpty(event.getmLiveBean().getPull())) {
|
||||
@@ -1445,5 +1483,8 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
|
||||
MobclickAgent.onEvent(mContext, "home_page_to_redpk", "首页点击右下角去红包专区");
|
||||
mainHomeViewHolder.setCurPosition(3);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
package com.yunbao.main.adapter;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.bean.BattlePassPoints;
|
||||
import com.yunbao.common.dialog.WarOrderExchangeDetailsPopupWindow;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.DeviceUtils;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.main.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class BattlePassExchangeAdapter extends RecyclerView.Adapter<BattlePassExchangeAdapter.VH> {
|
||||
private Context mContext;
|
||||
List<BattlePassPoints> mList = new ArrayList<>();
|
||||
int point;
|
||||
OnItemClickListener<BattlePassPoints> onItemClickListener;
|
||||
|
||||
public BattlePassExchangeAdapter(Context mContext) {
|
||||
this.mContext = mContext;
|
||||
}
|
||||
|
||||
public void setPoint(int point) {
|
||||
this.point = point;
|
||||
}
|
||||
|
||||
public void setList(List<BattlePassPoints> mList) {
|
||||
this.mList = mList;
|
||||
}
|
||||
|
||||
public void setOnItemClickListener(OnItemClickListener<BattlePassPoints> onItemClickListener) {
|
||||
this.onItemClickListener = onItemClickListener;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public BattlePassExchangeAdapter.VH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
return new BattlePassExchangeAdapter.VH(LayoutInflater.from(mContext).inflate(R.layout.item_battlepass_exchange, parent, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull BattlePassExchangeAdapter.VH holder, int position) {
|
||||
holder.setData(mList.get(position));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return mList.size();
|
||||
}
|
||||
|
||||
public class VH extends RecyclerView.ViewHolder {
|
||||
private ImageView icon;
|
||||
private ImageView indicator;
|
||||
private TextView title;
|
||||
private TextView content;
|
||||
private Button submit;
|
||||
private View mark;
|
||||
private TextView markText;
|
||||
|
||||
|
||||
public VH(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
icon = itemView.findViewById(R.id.tab_1);
|
||||
title = itemView.findViewById(R.id.title);
|
||||
content = itemView.findViewById(R.id.content);
|
||||
submit = itemView.findViewById(R.id.submit);
|
||||
indicator = itemView.findViewById(R.id.indicator);
|
||||
mark = itemView.findViewById(R.id.mark_layout);
|
||||
markText = itemView.findViewById(R.id.mark_text);
|
||||
indicator.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
public void setData(BattlePassPoints battlePassPoints) {
|
||||
ImgLoader.display(mContext, battlePassPoints.getImageUrl(), icon);
|
||||
title.setText(battlePassPoints.getRewardsName());
|
||||
content.setText(battlePassPoints.getPointsThresholdText());
|
||||
if (StringUtil.isEmpty(battlePassPoints.getExchangeMark())) {
|
||||
mark.setVisibility(View.GONE);
|
||||
} else {
|
||||
mark.setVisibility(View.VISIBLE);
|
||||
markText.setText(battlePassPoints.getExchangeMark());
|
||||
}
|
||||
submit.setOnClickListener(null);
|
||||
if (battlePassPoints.getExchangeStatus() == 1) {
|
||||
submit.setText(WordUtil.getNewString(R.string.battlepass_exchange_submit_lock));
|
||||
submit.setBackgroundResource(R.mipmap.bg_zl_battlepass_exchange_btn_lock);
|
||||
submit.setTextColor(Color.parseColor("#E4E5E8"));
|
||||
return;
|
||||
}
|
||||
if (battlePassPoints.getUserQuintyCount() == battlePassPoints.getExchangeQuantity()) {
|
||||
submit.setTextColor(Color.parseColor("#5773B1"));
|
||||
submit.setText(WordUtil.getNewString(R.string.battlepass_exchange_submit_exchange));
|
||||
submit.setBackgroundResource(R.mipmap.bg_zl_battlepass_exchange_btn_over);
|
||||
return;
|
||||
} else {
|
||||
submit.setTextColor(Color.parseColor("#FFFFFF"));
|
||||
submit.setText(String.format("%s\n(%s/%s)",
|
||||
WordUtil.getNewString(R.string.battlepass_exchange_submit_unexchange),
|
||||
battlePassPoints.getUserQuintyCount(),
|
||||
battlePassPoints.getExchangeQuantity()
|
||||
));
|
||||
submit.setBackgroundResource(R.mipmap.bg_zl_battlepass_exchange_btn_exchange);
|
||||
}
|
||||
ViewClicksAntiShake.clicksAntiShake(submit, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
new XPopup.Builder(mContext)
|
||||
.enableDrag(false)
|
||||
.maxWidth(DeviceUtils.getScreenHeight((Activity) mContext) - DpUtil.dp2px(34))
|
||||
.asCustom(new WarOrderExchangeDetailsPopupWindow(mContext,
|
||||
battlePassPoints.getExchangeQuantity()-battlePassPoints.getUserQuintyCount(),
|
||||
point,
|
||||
Integer.parseInt(battlePassPoints.getPointsThreshold()),
|
||||
battlePassPoints.getImageUrl(),
|
||||
String.valueOf(battlePassPoints.getId()),
|
||||
new WarOrderExchangeDetailsPopupWindow.WarOrderExchangeDetailsCallback() {
|
||||
@Override
|
||||
public void onCallback(int code, String msg) {
|
||||
ToastUtil.show(msg);
|
||||
if (onItemClickListener != null) {
|
||||
onItemClickListener.onItemClick(battlePassPoints, code);
|
||||
}
|
||||
}
|
||||
}
|
||||
))
|
||||
.show();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,204 @@
|
||||
package com.yunbao.main.adapter;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.bean.BattlePassTask;
|
||||
import com.yunbao.common.bean.HttpCallbackModel;
|
||||
import com.yunbao.common.dialog.OrderLevelPopupWindow;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.DeviceUtils;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.main.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class BattlePassMissionAdapter extends RecyclerView.Adapter<BattlePassMissionAdapter.VH> {
|
||||
private Context mContext;
|
||||
private List<BattlePassTask.Task> mList = new ArrayList<>();
|
||||
private OnItemClickListener<BattlePassTask.Task> onItemClickListener;
|
||||
|
||||
public BattlePassMissionAdapter(Context mContext) {
|
||||
this.mContext = mContext;
|
||||
}
|
||||
|
||||
public void setList(List<BattlePassTask.Task> mList) {
|
||||
this.mList = mList;
|
||||
}
|
||||
|
||||
public void setOnItemClickListener(OnItemClickListener<BattlePassTask.Task> onItemClickListener) {
|
||||
this.onItemClickListener = onItemClickListener;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemViewType(int position) {
|
||||
if (mList.get(position).getId() < 0) {
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public BattlePassMissionAdapter.VH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
if (viewType == 0) {
|
||||
return new BattlePassMissionAdapter.TypeOfTitle(LayoutInflater.from(mContext).inflate(R.layout.item_battlepass_mission_type_title, parent, false));
|
||||
}
|
||||
return new BattlePassMissionAdapter.TypeOfMission(LayoutInflater.from(mContext).inflate(R.layout.item_battlepass_mission_type_mission, parent, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull BattlePassMissionAdapter.VH holder, int position) {
|
||||
holder.setData(mList.get(position));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return mList.size();
|
||||
}
|
||||
|
||||
public static abstract class VH extends RecyclerView.ViewHolder {
|
||||
protected static final int SUBMIT_BUY = 0;
|
||||
protected static final int SUBMIT_FINISHED = 1;
|
||||
protected static final int SUBMIT_OVER = 2;
|
||||
protected static final int SUBMIT_DEF = 3;
|
||||
|
||||
public VH(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
}
|
||||
|
||||
public abstract void setData(BattlePassTask.Task task);
|
||||
}
|
||||
|
||||
private static class TypeOfTitle extends VH {
|
||||
TextView title;
|
||||
|
||||
public TypeOfTitle(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
title = itemView.findViewById(R.id.title);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setData(BattlePassTask.Task task) {
|
||||
if (task.getId() == -1) {
|
||||
title.setText(WordUtil.getNewString(R.string.battlepass_mission_line_title_daily));
|
||||
} else if (task.getId() == -2) {
|
||||
title.setText(WordUtil.getNewString(R.string.battlepass_mission_line_title_season));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class TypeOfMission extends VH {
|
||||
ImageView icon;
|
||||
TextView title;
|
||||
TextView content;
|
||||
Button submit;
|
||||
|
||||
|
||||
public TypeOfMission(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
icon = itemView.findViewById(R.id.icon);
|
||||
title = itemView.findViewById(R.id.title);
|
||||
content = itemView.findViewById(R.id.content);
|
||||
submit = itemView.findViewById(R.id.submit);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setData(BattlePassTask.Task task) {
|
||||
/* if (task.getId() == 1) {
|
||||
task.setReceivedTask(1);
|
||||
task.setUserTaskSuccess(1);
|
||||
task.setNotReceivedTask(0);
|
||||
}
|
||||
if (task.getId() == 2) {
|
||||
task.setUserTaskSuccess(2);
|
||||
task.setReceivedTask(5);
|
||||
task.setNotReceivedTask(5);
|
||||
}*/
|
||||
if (task.getTaskSuccess() > 0) {
|
||||
title.setText(String.format("%s(%s/%s)",
|
||||
task.getNameText(),
|
||||
task.getUserTaskSuccess(),
|
||||
task.getTaskSuccess())
|
||||
);
|
||||
} else {
|
||||
title.setText(task.getNameText());
|
||||
}
|
||||
content.setText(task.getRemarkText());
|
||||
ImgLoader.display(itemView.getContext(), task.getImagePath(), icon);
|
||||
submit.setTag(SUBMIT_DEF);
|
||||
submit.setText(WordUtil.getNewString(R.string.battlepass_mission_submit_btn_unfinished));
|
||||
submit.setBackgroundResource(R.drawable.bg_battlepass_mission_btn_unfinished);
|
||||
submit.setTextColor(Color.parseColor("#FFFFFF"));
|
||||
if (task.isBuy()) {
|
||||
submit.setText(WordUtil.getNewString(R.string.battlepass_mission_submit_btn_buy));
|
||||
submit.setBackgroundResource(R.drawable.bg_battlepass_mission_btn_buy);
|
||||
submit.setTag(SUBMIT_BUY);
|
||||
} else {
|
||||
if (task.getNotReceivedTask() > 0) {
|
||||
submit.setText(WordUtil.getNewString(R.string.battlepass_mission_submit_btn_finished));
|
||||
submit.setBackgroundResource(R.drawable.bg_battlepass_mission_btn_finished);
|
||||
submit.setTag(SUBMIT_FINISHED);
|
||||
}
|
||||
if (task.getNotReceivedTask() == 0 && task.getTaskSuccess() == task.getUserTaskSuccess()) {
|
||||
submit.setText(WordUtil.getNewString(R.string.battlepass_mission_submit_btn_over));
|
||||
submit.setBackgroundResource(R.drawable.bg_battlepass_mission_btn_over);
|
||||
submit.setTag(SUBMIT_OVER);
|
||||
submit.setTextColor(Color.parseColor("#0D21B2"));
|
||||
}
|
||||
}
|
||||
ViewClicksAntiShake.clicksAntiShake(submit, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
if ((int) submit.getTag() == SUBMIT_FINISHED) {
|
||||
subTask(task);
|
||||
}
|
||||
if ((int) submit.getTag() == SUBMIT_BUY) {
|
||||
if (onItemClickListener != null) {
|
||||
onItemClickListener.onItemClick(task, -2);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void subTask(BattlePassTask.Task task) {
|
||||
LiveNetManager.get(itemView.getContext())
|
||||
.getBattlePassTaskOver(String.valueOf(task.getId()), new HttpCallback<HttpCallbackModel>() {
|
||||
@Override
|
||||
public void onSuccess(HttpCallbackModel data) {
|
||||
ToastUtil.show( data.getMsg());
|
||||
if (onItemClickListener != null) {
|
||||
onItemClickListener.onItemClick(task, data.getCode());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
if (onItemClickListener != null) {
|
||||
onItemClickListener.onItemClick(task, -1);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,346 @@
|
||||
package com.yunbao.main.adapter;
|
||||
|
||||
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.bean.BattlePassUserInfoBean;
|
||||
import com.yunbao.common.bean.HttpCallbackModel;
|
||||
import com.yunbao.common.bean.LiveBattlePassRewardsBean;
|
||||
import com.yunbao.common.dialog.ActivateEliteBattleOrderPopupWindow;
|
||||
import com.yunbao.common.dialog.LiberalBattlePassPopupWindow;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DeviceUtils;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.event.BattlePassTypeEvent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
public class BattlePassRewardAdapter extends RecyclerView.Adapter<BattlePassRewardAdapter.VH> {
|
||||
private Context mContext;
|
||||
private List<Map<Integer, LiveBattlePassRewardsBean.LiveBattlePassReward>> mList = new ArrayList<>();
|
||||
private int userLevel;
|
||||
private BattlePassUserInfoBean userType;
|
||||
private String quintessenceSpendMoney,enjoySpendMoney;
|
||||
private OnItemClickListener<LiveBattlePassRewardsBean.LiveBattlePassReward> onItemClickListener;
|
||||
|
||||
public void setList(List<Map<Integer, LiveBattlePassRewardsBean.LiveBattlePassReward>> mList) {
|
||||
this.mList = mList;
|
||||
}
|
||||
|
||||
public void setOnItemClickListener(OnItemClickListener<LiveBattlePassRewardsBean.LiveBattlePassReward> onItemClickListener) {
|
||||
this.onItemClickListener = onItemClickListener;
|
||||
}
|
||||
|
||||
public void setUserLevel(int userLevel) {
|
||||
this.userLevel = userLevel;
|
||||
}
|
||||
|
||||
public void setUserType(BattlePassUserInfoBean userType) {
|
||||
this.userType = userType;
|
||||
}
|
||||
|
||||
public BattlePassRewardAdapter(Context mContext) {
|
||||
this.mContext = mContext;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public VH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
return new VH(LayoutInflater.from(mContext).inflate(R.layout.item_battlepass_reward_type_top, parent, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull VH holder, int position) {
|
||||
holder.setData(mList.get(position), position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return mList.size();
|
||||
}
|
||||
|
||||
public void setQuintessenceSpendMoney(String quintessenceSpendMoney) {
|
||||
this.quintessenceSpendMoney=quintessenceSpendMoney;
|
||||
}
|
||||
|
||||
public void setEnjoySpendMoney(String enjoySpendMoney) {
|
||||
this.enjoySpendMoney=enjoySpendMoney;
|
||||
}
|
||||
|
||||
public class VH extends RecyclerView.ViewHolder {
|
||||
View lineBg, line, point;
|
||||
View tab1Layout, tab2Layout, tab3Layout;
|
||||
Button lv;
|
||||
ImageView tab1, tab2, tab3;
|
||||
ImageView tab1Unlock, tab2Unlock, tab3Unlock;
|
||||
ImageView tab1Mask, tab2Mask, tab3Mask;
|
||||
ImageView tab1Subscript, tab2Subscript, tab3Subscript;
|
||||
ImageView tab1Received, tab2Received, tab3Received;
|
||||
TextView tab1Title, tab2Title, tab3Title;
|
||||
|
||||
|
||||
Map<Integer, LiveBattlePassRewardsBean.LiveBattlePassReward> data;
|
||||
|
||||
public VH(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
lineBg = itemView.findViewById(R.id.line_bg);
|
||||
line = itemView.findViewById(R.id.line);
|
||||
point = itemView.findViewById(R.id.point);
|
||||
lv = itemView.findViewById(R.id.reward_lv);
|
||||
tab1Layout = itemView.findViewById(R.id.tab_1_layout);
|
||||
tab2Layout = itemView.findViewById(R.id.tab_2_layout);
|
||||
tab3Layout = itemView.findViewById(R.id.tab_3_layout);
|
||||
tab1 = itemView.findViewById(R.id.tab_1);
|
||||
tab2 = itemView.findViewById(R.id.tab_2);
|
||||
tab3 = itemView.findViewById(R.id.tab_3);
|
||||
tab1Unlock = itemView.findViewById(R.id.tab_1_item_unlock);
|
||||
tab2Unlock = itemView.findViewById(R.id.tab_2_item_unlock);
|
||||
tab3Unlock = itemView.findViewById(R.id.tab_3_item_unlock);
|
||||
tab1Mask = itemView.findViewById(R.id.tab_1_unlock);
|
||||
tab2Mask = itemView.findViewById(R.id.tab_2_unlock);
|
||||
tab3Mask = itemView.findViewById(R.id.tab_3_unlock);
|
||||
tab1Subscript = itemView.findViewById(R.id.tab_1_subscript);
|
||||
tab2Subscript = itemView.findViewById(R.id.tab_2_subscript);
|
||||
tab3Subscript = itemView.findViewById(R.id.tab_3_subscript);
|
||||
tab1Title = itemView.findViewById(R.id.tab_1_title);
|
||||
tab2Title = itemView.findViewById(R.id.tab_2_title);
|
||||
tab3Title = itemView.findViewById(R.id.tab_3_title);
|
||||
tab1Received = itemView.findViewById(R.id.tab_1_item_received);
|
||||
tab2Received = itemView.findViewById(R.id.tab_2_item_received);
|
||||
tab3Received = itemView.findViewById(R.id.tab_3_item_received);
|
||||
}
|
||||
|
||||
int level = 0;
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
public void setData(Map<Integer, LiveBattlePassRewardsBean.LiveBattlePassReward> data, int position) {
|
||||
this.data = data;
|
||||
for (LiveBattlePassRewardsBean.LiveBattlePassReward value : data.values()) {
|
||||
if (value.getId() > 0) {
|
||||
level = value.getLiveBattlePassLevel();
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (position == 0) {
|
||||
ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) lineBg.getLayoutParams();
|
||||
ConstraintLayout.LayoutParams params1 = (ConstraintLayout.LayoutParams) line.getLayoutParams();
|
||||
params.topMargin = DpUtil.dp2px(3);
|
||||
params1.topMargin = DpUtil.dp2px(3);
|
||||
} else {
|
||||
ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) lineBg.getLayoutParams();
|
||||
ConstraintLayout.LayoutParams params1 = (ConstraintLayout.LayoutParams) line.getLayoutParams();
|
||||
params.topMargin = DpUtil.dp2px(0);
|
||||
params1.topMargin = DpUtil.dp2px(0);
|
||||
}
|
||||
setVisibility(View.GONE, -1, tab1Unlock, tab1Unlock, tab1Unlock);
|
||||
setVisibility(View.GONE, -1, tab1Subscript, tab2Subscript, tab3Subscript);
|
||||
setVisibility(View.VISIBLE, -1, tab1Layout, tab2Layout, tab3Layout);
|
||||
setVisibility(View.VISIBLE, -1, tab1, tab2, tab3);
|
||||
setVisibility(View.VISIBLE, -1, tab1Mask, tab2Mask, tab3Mask);
|
||||
ConstraintLayout.LayoutParams _params = (ConstraintLayout.LayoutParams) line.getLayoutParams();
|
||||
_params.bottomMargin = DpUtil.dp2px(0);
|
||||
line.setLayoutParams(_params);
|
||||
|
||||
line.setVisibility(View.GONE);
|
||||
point.setVisibility(View.GONE);
|
||||
if (userLevel > level && userLevel < userType.getMaxLevel()) {
|
||||
setVisibility(View.GONE, -1, tab1Mask, tab2Mask, tab3Mask);
|
||||
point.setVisibility(View.GONE);
|
||||
line.setVisibility(View.VISIBLE);
|
||||
}
|
||||
if (userLevel == level && userLevel < userType.getMaxLevel()) {
|
||||
setVisibility(View.GONE, -1, tab1Mask, tab2Mask, tab3Mask);
|
||||
ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) line.getLayoutParams();
|
||||
params.bottomMargin = DpUtil.dp2px(70);
|
||||
line.setVisibility(View.VISIBLE);
|
||||
point.setVisibility(View.VISIBLE);
|
||||
}
|
||||
if (userLevel >= userType.getMaxLevel()) {
|
||||
setVisibility(View.GONE, -1, tab1Mask, tab2Mask, tab3Mask);
|
||||
line.setVisibility(View.VISIBLE);
|
||||
point.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
getAllView((reward, view) -> ImgLoader.display(mContext, reward.getImageUrl(), view), tab1, tab2, tab3);
|
||||
getAllView(((reward, view) -> {
|
||||
if (userLevel < level) {
|
||||
view.setVisibility(View.GONE);
|
||||
return;
|
||||
}
|
||||
if (reward.getLock() == 1) {
|
||||
view.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
view.setVisibility(View.GONE);
|
||||
}
|
||||
}), tab1Unlock, tab2Unlock, tab3Unlock);
|
||||
getAllView(((reward, view) -> {
|
||||
lv.setText("V" + reward.getLiveBattlePassLevel());
|
||||
lv.setTag(reward);
|
||||
view.setText(reward.getRewardName());
|
||||
}), tab1Title, tab2Title, tab3Title);
|
||||
getAllView(((reward, view) -> {
|
||||
if (reward.getReceived() == 1) {
|
||||
view.setVisibility(View.GONE);
|
||||
} else {
|
||||
view.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}), tab1Received, tab2Received, tab3Received);
|
||||
getAllView(((reward, view) -> {
|
||||
ViewClicksAntiShake.clicksAntiShake(view, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
getReward(reward);
|
||||
}
|
||||
});
|
||||
}), tab1, tab2, tab3);
|
||||
|
||||
}
|
||||
|
||||
private void getReward(LiveBattlePassRewardsBean.LiveBattlePassReward reward) {
|
||||
if (userLevel < reward.getLiveBattlePassLevel()) {
|
||||
ToastUtil.show(WordUtil.getNewString(R.string.battlepass_reward_item_lock));
|
||||
return;
|
||||
}
|
||||
if (reward.getLock() == 1) {
|
||||
//ToastUtil.show("锁了");
|
||||
if(reward.getLiveBattlePassTypeId()==2){
|
||||
showBuyType(true);
|
||||
}else{
|
||||
showBuyType(false);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (reward.getReceived() == 2) {
|
||||
return;
|
||||
}
|
||||
switch (reward.getLiveBattlePassTypeId()) {
|
||||
case 1:
|
||||
if (userType.getBattlePassUserRecords1() == 1) {
|
||||
ToastUtil.show("没购买");
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (userType.getBattlePassUserRecords2() == 1) {
|
||||
ToastUtil.show("没购买");
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (userType.getBattlePassUserRecords3() == 1) {
|
||||
ToastUtil.show("没购买");
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
LiveNetManager.get(mContext)
|
||||
.getRewards(String.valueOf(reward.getLiveBattlePassLevel()), String.valueOf(reward.getId()), new HttpCallback<HttpCallbackModel>() {
|
||||
@Override
|
||||
public void onSuccess(HttpCallbackModel data) {
|
||||
ToastUtil.show(data.getMsg());
|
||||
if (onItemClickListener != null) {
|
||||
onItemClickListener.onItemClick(reward, reward.getId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
if (onItemClickListener != null) {
|
||||
onItemClickListener.onItemClick(reward, reward.getId());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void setVisibility(int visibility, int position, View... views) {
|
||||
if (position == -1) {
|
||||
for (View view : views) {
|
||||
view.setVisibility(visibility);
|
||||
}
|
||||
} else {
|
||||
views[position].setVisibility(visibility);
|
||||
}
|
||||
}
|
||||
|
||||
private <T> void getAllView(ViewData<T> viewData, T... views) {
|
||||
getView(1, viewData, views);
|
||||
getView(2, viewData, views);
|
||||
getView(3, viewData, views);
|
||||
}
|
||||
|
||||
private <T> void getView(int type, ViewData<T> viewData, T... views) {
|
||||
if (data.containsKey(type) && data.get(type) != null && Objects.requireNonNull(data.get(type)).getId() != 0) {
|
||||
viewData.onData(data.get(type), views[type - 1]);
|
||||
setVisibility(View.VISIBLE, type - 1, tab1Layout, tab2Layout, tab3Layout);
|
||||
} else {
|
||||
setVisibility(View.INVISIBLE, type - 1, tab1Layout, tab2Layout, tab3Layout);
|
||||
}
|
||||
}
|
||||
private void showBuyType(boolean is){
|
||||
new XPopup.Builder(itemView.getContext())
|
||||
.enableDrag(false)
|
||||
.maxWidth(DeviceUtils.getScreenHeight((Activity) itemView.getContext()) - DpUtil.dp2px(34))
|
||||
.asCustom(new ActivateEliteBattleOrderPopupWindow(
|
||||
itemView.getContext(),
|
||||
is?quintessenceSpendMoney:enjoySpendMoney,
|
||||
is,
|
||||
new LiberalBattlePassPopupWindow.LiberalBattlePassCallback() {
|
||||
@Override
|
||||
public void onCallback(int code, String msg) {
|
||||
if (code == 1001) {
|
||||
new DialogUitl.Builder(itemView.getContext())
|
||||
.setView(com.yunbao.live.R.layout.dialog_live_unfollow)
|
||||
.setConfirmString(itemView.getContext().getString(com.yunbao.live.R.string.charge))
|
||||
.setContent(itemView.getContext().getString(com.yunbao.live.R.string.insufficient_balance))
|
||||
.setClickCallback(new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
|
||||
}
|
||||
}).build().show();
|
||||
return;
|
||||
}
|
||||
ToastUtil.show(msg);
|
||||
Bus.get().post(new BattlePassTypeEvent(0));
|
||||
}
|
||||
},
|
||||
"2"
|
||||
))
|
||||
.show();
|
||||
}
|
||||
}
|
||||
|
||||
private interface ViewData<T> {
|
||||
void onData(LiveBattlePassRewardsBean.LiveBattlePassReward reward, T view);
|
||||
}
|
||||
}
|
||||
@@ -239,15 +239,15 @@ public class MainListAdapter extends RefreshAdapter<ListBean> {
|
||||
|
||||
mVotes.setText(bean.getTotalCoinFormat() + " ");
|
||||
mSex.setImageResource(CommonIconUtil.getSexIcon(bean.getSex()));
|
||||
LevelBean levelBean = null;
|
||||
if (mType == TYPE_PROFIT) {
|
||||
levelBean = CommonAppConfig.getInstance().getAnchorLevel(bean.getLevelAnchor());
|
||||
} else {
|
||||
levelBean = CommonAppConfig.getInstance().getLevel(bean.getLevel());
|
||||
}
|
||||
if (levelBean != null) {
|
||||
ImgLoader.display(mContext, levelBean.getThumb(), mLevel);
|
||||
}
|
||||
// LevelBean levelBean = null;
|
||||
// if (mType == TYPE_PROFIT) {
|
||||
// levelBean = CommonAppConfig.getInstance().getAnchorLevel(bean.getLevelAnchor());
|
||||
// } else {
|
||||
// levelBean = CommonAppConfig.getInstance().getLevel(bean.getLevel());
|
||||
// }
|
||||
// if (levelBean != null) {
|
||||
// ImgLoader.display(mContext, levelBean.getThumb(), mLevel);
|
||||
// }
|
||||
}
|
||||
liveing.setVisibility(View.INVISIBLE);
|
||||
if (bean.getIslive() == 1) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.yunbao.main.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -16,15 +17,18 @@ import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.adapter.RefreshAdapter;
|
||||
import com.yunbao.common.bean.LevelBean;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.bean.NewLevelModel;
|
||||
import com.yunbao.common.custom.MyRadioButton;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.manager.NewLevelManager;
|
||||
import com.yunbao.common.utils.CommonIconUtil;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.live.bean.SearchUserBean;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.live.utils.LiveTextRender;
|
||||
import com.yunbao.main.R;
|
||||
|
||||
import java.util.List;
|
||||
@@ -47,8 +51,8 @@ public class SearchAdapter extends RefreshAdapter<SearchUserBean> {
|
||||
public SearchAdapter(Context context, int from) {
|
||||
super(context);
|
||||
mFrom = from;
|
||||
mFollow =mContext.getString(R.string.follow);
|
||||
mFollowing =mContext.getString(R.string.following);
|
||||
mFollow = mContext.getString(R.string.follow);
|
||||
mFollowing = mContext.getString(R.string.following);
|
||||
mFollowClickListener = new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
@@ -117,7 +121,7 @@ public class SearchAdapter extends RefreshAdapter<SearchUserBean> {
|
||||
class Vh extends RecyclerView.ViewHolder {
|
||||
|
||||
ImageView mAvatar;
|
||||
TextView mName;
|
||||
TextView mName, leave;
|
||||
TextView mSign;
|
||||
ImageView mSex;
|
||||
ImageView mLevelAnchor;
|
||||
@@ -130,6 +134,7 @@ public class SearchAdapter extends RefreshAdapter<SearchUserBean> {
|
||||
mAvatar = (ImageView) itemView.findViewById(R.id.avatar);
|
||||
mName = (TextView) itemView.findViewById(R.id.name);
|
||||
mSign = (TextView) itemView.findViewById(R.id.sign);
|
||||
leave = (TextView) itemView.findViewById(R.id.leave);
|
||||
mSex = (ImageView) itemView.findViewById(R.id.sex);
|
||||
mLevelAnchor = (ImageView) itemView.findViewById(R.id.level_anchor);
|
||||
mLevel = (ImageView) itemView.findViewById(R.id.level);
|
||||
@@ -158,31 +163,30 @@ public class SearchAdapter extends RefreshAdapter<SearchUserBean> {
|
||||
gotoLive(bean.getId());
|
||||
}
|
||||
});
|
||||
LevelBean anchorLevelBean = CommonAppConfig.getInstance().getAnchorLevel(bean.getLevelAnchor());
|
||||
if (anchorLevelBean != null) {
|
||||
ImgLoader.display(mContext, CommonAppConfig.getInstance().HOST + anchorLevelBean.getThumb(), mLevelAnchor);
|
||||
}
|
||||
LevelBean levelBean = CommonAppConfig.getInstance().getLevel(bean.getLevel());
|
||||
if (levelBean != null) {
|
||||
ImgLoader.display(mContext, levelBean.getThumb(), mLevel);
|
||||
List<NewLevelModel> models = new NewLevelManager(itemView.getContext()).getNewAnchorLevelModels();
|
||||
int anchorLevel = 0;
|
||||
anchorLevel = bean.getLevelAnchor();
|
||||
String imgUrl = "";
|
||||
for (NewLevelModel newLevelModel : models) {
|
||||
if (newLevelModel.getLeveMin() <= anchorLevel && anchorLevel <= newLevelModel.getLeveMax()) {
|
||||
imgUrl = newLevelModel.getThumb();
|
||||
}
|
||||
}
|
||||
leave.setText(bean.getLevelAnchor() + "");
|
||||
ImgLoader.display(itemView.getContext(), imgUrl, mLevelAnchor);
|
||||
new LiveTextRender().getLevelImage(mContext, bean.getLevel(), new ImgLoader.DrawableCallback() {
|
||||
@Override
|
||||
public void onLoadSuccess(Drawable drawable) {
|
||||
ImgLoader.display2(mContext, drawable, mLevel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadFailed() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
// if (mUid.equals(bean.getId())) {
|
||||
// if (mBtnFollow.getVisibility() == View.VISIBLE) {
|
||||
// mBtnFollow.setVisibility(View.INVISIBLE);
|
||||
// }
|
||||
// } else {
|
||||
// if (mBtnFollow.getVisibility() != View.VISIBLE) {
|
||||
// mBtnFollow.setVisibility(View.VISIBLE);
|
||||
// }
|
||||
// if (bean.getAttention() == 1) {
|
||||
// mBtnFollow.doChecked(true);
|
||||
// mBtnFollow.setText(mFollowing);
|
||||
// } else {
|
||||
// mBtnFollow.doChecked(false);
|
||||
// mBtnFollow.setText(mFollow);
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -200,7 +204,7 @@ public class SearchAdapter extends RefreshAdapter<SearchUserBean> {
|
||||
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
|
||||
@Override
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -2,15 +2,10 @@ package com.yunbao.main.dialog;
|
||||
|
||||
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -21,10 +16,15 @@ import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.adapter.RefreshAdapter;
|
||||
import com.yunbao.common.custom.CommonRefreshView;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
@@ -32,6 +32,7 @@ import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.adapter.MainHomeRemFollLiveAdapter;
|
||||
import com.yunbao.main.bean.EncourageGiftBean;
|
||||
import com.yunbao.main.http.MainHttpUtil;
|
||||
|
||||
@@ -46,7 +47,7 @@ public class EncourageDialog extends AbsDialogFragment implements View.OnClickLi
|
||||
private View v_encourage, v_encourage_list, v_close;
|
||||
private ImageView img_gift1, img_gift2, img_gift3;
|
||||
private LinearLayout lt_gift1, lt_gift2, lt_gift3, lt_lt1, lt_lt2, lt_no_data;
|
||||
private RecyclerView rc_encourage;
|
||||
private CommonRefreshView rc_encourage;
|
||||
private EncourageAdapter encourageAdapter;
|
||||
private List<EncourageGiftBean> encourageList;
|
||||
private List<EncourageGiftBean> encourageList2;
|
||||
@@ -151,30 +152,68 @@ public class EncourageDialog extends AbsDialogFragment implements View.OnClickLi
|
||||
}
|
||||
|
||||
private void getDataList() {
|
||||
MainHttpUtil.getDynamicSendGiftList(id, new HttpCallback() {
|
||||
gridLayoutManager = new GridLayoutManager(getContext(), 1);
|
||||
rc_encourage.setLayoutManager(gridLayoutManager);
|
||||
lt_no_data.setVisibility(View.GONE);
|
||||
rc_encourage.setVisibility(View.VISIBLE);
|
||||
rc_encourage.setDataHelper(new CommonRefreshView.DataHelper<EncourageGiftBean>() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
public RefreshAdapter<EncourageGiftBean> getAdapter() {
|
||||
if (encourageAdapter == null) {
|
||||
encourageAdapter = new EncourageAdapter(mContext);
|
||||
}
|
||||
return encourageAdapter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadData(int p, HttpCallback callback) {
|
||||
MainHttpUtil.getDynamicSendGiftList(id, p, callback);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<EncourageGiftBean> processData(String[] info) {
|
||||
if (info != null) {
|
||||
if (info.length > 0) {
|
||||
lt_no_data.setVisibility(View.GONE);
|
||||
rc_encourage.setVisibility(View.VISIBLE);
|
||||
encourageList = JSON.parseArray(Arrays.toString(info), EncourageGiftBean.class);
|
||||
|
||||
encourageAdapter = new EncourageAdapter(getContext(), encourageList);
|
||||
gridLayoutManager = new GridLayoutManager(getContext(), 1);
|
||||
rc_encourage.setLayoutManager(gridLayoutManager);
|
||||
rc_encourage.setAdapter(encourageAdapter);
|
||||
return JSON.parseArray(Arrays.toString(info), EncourageGiftBean.class);
|
||||
} else {
|
||||
lt_no_data.setVisibility(View.VISIBLE);
|
||||
rc_encourage.setVisibility(View.GONE);
|
||||
return new ArrayList<EncourageGiftBean>();
|
||||
}
|
||||
} else {
|
||||
lt_no_data.setVisibility(View.VISIBLE);
|
||||
rc_encourage.setVisibility(View.GONE);
|
||||
return new ArrayList<EncourageGiftBean>();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefreshSuccess(List<EncourageGiftBean> list, int listCount) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefreshFailure() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadMoreSuccess(List<EncourageGiftBean> loadItemList, int loadItemCount) {
|
||||
if (loadItemList.size() > 0)
|
||||
encourageAdapter.insertList(loadItemList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadMoreFailure() {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
rc_encourage.initData();
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
@@ -193,7 +232,7 @@ public class EncourageDialog extends AbsDialogFragment implements View.OnClickLi
|
||||
lt_gift3 = (LinearLayout) findViewById(R.id.lt_gift3);
|
||||
lt_lt1 = (LinearLayout) findViewById(R.id.lt_lt1);
|
||||
lt_lt2 = (LinearLayout) findViewById(R.id.lt_lt2);
|
||||
rc_encourage = (RecyclerView) findViewById(R.id.rc_encourage);
|
||||
rc_encourage = (CommonRefreshView) findViewById(R.id.rc_encourage);
|
||||
|
||||
img_gift1 = (ImageView) findViewById(R.id.img_gift1);
|
||||
img_gift2 = (ImageView) findViewById(R.id.img_gift2);
|
||||
@@ -344,16 +383,10 @@ public class EncourageDialog extends AbsDialogFragment implements View.OnClickLi
|
||||
}
|
||||
}
|
||||
|
||||
public class EncourageAdapter extends RecyclerView.Adapter<EncourageAdapter.ViewHolder> {
|
||||
private LayoutInflater mInflater;
|
||||
private List<EncourageGiftBean> mDatas;
|
||||
public class EncourageAdapter extends RefreshAdapter<EncourageGiftBean> {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public EncourageAdapter(Context context, List<EncourageGiftBean> datats) {
|
||||
mInflater = LayoutInflater.from(context);
|
||||
mDatas = datats;
|
||||
public EncourageAdapter(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public class ViewHolder extends RecyclerView.ViewHolder {
|
||||
@@ -374,43 +407,24 @@ public class EncourageDialog extends AbsDialogFragment implements View.OnClickLi
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return mDatas.size();
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建ViewHolder
|
||||
*/
|
||||
@Override
|
||||
public EncourageAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
|
||||
View view;
|
||||
view = mInflater.inflate(R.layout.item_encourage_list,
|
||||
viewGroup, false);
|
||||
|
||||
EncourageAdapter.ViewHolder viewHolder = new EncourageAdapter.ViewHolder(view);
|
||||
|
||||
return viewHolder;
|
||||
return new EncourageAdapter.ViewHolder(mInflater.inflate(R.layout.item_encourage_list, viewGroup, false));
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置值
|
||||
*/
|
||||
@Override
|
||||
public void onBindViewHolder(final EncourageAdapter.ViewHolder viewHolder, @SuppressLint("RecyclerView") final int position) {
|
||||
ImgLoader.displayAvatar(mContext, mDatas.get(position).getUser_avatar(), viewHolder.avatar);
|
||||
// LevelBean anchorLevelBean = CommonAppConfig.getInstance().getAnchorLevel(mDatas.getLevelAnchor());
|
||||
// if (anchorLevelBean != null) {
|
||||
// ImgLoader.display(mContext, CommonAppConfig.getInstance().HOST + anchorLevelBean.getThumb(), viewHolder.level_anchor);
|
||||
// }
|
||||
// LevelBean levelBean = CommonAppConfig.getInstance().getLevel(mDatas.getLevel());
|
||||
// if (levelBean != null) {
|
||||
// ImgLoader.display(mContext, levelBean.getThumb(), viewHolder.level);
|
||||
// }
|
||||
ImgLoader.display(mContext, mDatas.get(position).getGift_img(), viewHolder.tv_gift_pic);
|
||||
viewHolder.name.setText(mDatas.get(position).getUser_name());
|
||||
viewHolder.tv_gift_num.setText(mDatas.get(position).getGift_num());
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
ViewHolder viewHolder = (ViewHolder) holder;
|
||||
ImgLoader.displayAvatar(mContext, mList.get(position).getUser_avatar(), viewHolder.avatar);
|
||||
ImgLoader.display(mContext, mList.get(position).getGift_img(), viewHolder.tv_gift_pic);
|
||||
viewHolder.name.setText(mList.get(position).getUser_name());
|
||||
viewHolder.tv_gift_num.setText(mList.get(position).getGift_num());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.yunbao.main.event;
|
||||
|
||||
import com.yunbao.common.bean.LiveBattlePassRewardsBean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class BattlePassTypeEvent {
|
||||
int type;
|
||||
|
||||
public BattlePassTypeEvent(int liveBattlePassType) {
|
||||
this.type=liveBattlePassType;
|
||||
}
|
||||
|
||||
public int getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(int type) {
|
||||
this.type = type;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
package com.yunbao.main.fragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.yunbao.common.bean.BattlePassPoints;
|
||||
import com.yunbao.common.bean.BattlePassUserInfoBean;
|
||||
import com.yunbao.common.bean.LiveBattlePassRewardsBean;
|
||||
import com.yunbao.common.custom.ItemDecoration;
|
||||
import com.yunbao.common.fragment.BaseFragment;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.activity.BattlePassActivity;
|
||||
import com.yunbao.main.adapter.BattlePassExchangeAdapter;
|
||||
import com.yunbao.main.adapter.BattlePassMissionAdapter;
|
||||
import com.yunbao.main.event.BattlePassTypeEvent;
|
||||
import com.yunbao.main.interfaces.BattlePassUserInfoListener;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class BattlePassExchangeFragment extends BaseFragment {
|
||||
RecyclerView mRecyclerView;
|
||||
BattlePassExchangeAdapter adapter;
|
||||
BattlePassUserInfoListener userInfoListener;
|
||||
|
||||
public BattlePassExchangeFragment(BattlePassUserInfoListener userInfoListener) {
|
||||
this.userInfoListener = userInfoListener;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View createView(LayoutInflater inflater, ViewGroup container) {
|
||||
return inflater.inflate(R.layout.fragment_battlepass_exchange, container, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initVariables(Bundle bundle) {
|
||||
|
||||
}
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
updateData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void loadData() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initViews(Bundle savedInstanceState, View contentView) {
|
||||
mRecyclerView = findViewById(R.id.recycler_view);
|
||||
adapter = new BattlePassExchangeAdapter(getContext());
|
||||
adapter.setOnItemClickListener(new OnItemClickListener<BattlePassPoints>() {
|
||||
@Override
|
||||
public void onItemClick(BattlePassPoints bean, int position) {
|
||||
updateData();
|
||||
Bus.get().post(new BattlePassTypeEvent(0));
|
||||
}
|
||||
});
|
||||
mRecyclerView.setAdapter(adapter);
|
||||
}
|
||||
private void initData() {
|
||||
BattlePassUserInfoBean userInfo = userInfoListener.getBattlePassUserInfo();
|
||||
if(adapter!=null && userInfo!=null){
|
||||
adapter.setPoint(userInfo.getPoints());
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void updateData() {
|
||||
super.updateData();
|
||||
initData();
|
||||
LiveNetManager.get(getContext())
|
||||
.getBattlePassPoints(new HttpCallback<List<BattlePassPoints>>() {
|
||||
@Override
|
||||
public void onSuccess(List<BattlePassPoints> data) {
|
||||
adapter.setList(data);
|
||||
adapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,152 @@
|
||||
package com.yunbao.main.fragment;
|
||||
|
||||
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.bean.BattlePassTask;
|
||||
import com.yunbao.common.bean.BattlePassUserInfoBean;
|
||||
import com.yunbao.common.custom.ItemDecoration;
|
||||
import com.yunbao.common.dialog.OrderLevelPopupWindow;
|
||||
import com.yunbao.common.fragment.BaseFragment;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DeviceUtils;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.adapter.BattlePassMissionAdapter;
|
||||
import com.yunbao.main.event.BattlePassTypeEvent;
|
||||
import com.yunbao.main.interfaces.BattlePassUserInfoListener;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class BattlePassMissionFragment extends BaseFragment {
|
||||
RecyclerView mRecyclerView;
|
||||
BattlePassMissionAdapter adapter;
|
||||
BattlePassUserInfoListener userInfoListener;
|
||||
|
||||
public BattlePassMissionFragment(BattlePassUserInfoListener userInfoListener) {
|
||||
this.userInfoListener = userInfoListener;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View createView(LayoutInflater inflater, ViewGroup container) {
|
||||
return inflater.inflate(R.layout.fragment_battlepass_mission, container, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initVariables(Bundle bundle) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
updateData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void loadData() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initViews(Bundle savedInstanceState, View contentView) {
|
||||
mRecyclerView = findViewById(R.id.recycler_view);
|
||||
adapter = new BattlePassMissionAdapter(getContext());
|
||||
ItemDecoration decoration = new ItemDecoration(getContext(), 0x00000000, 1, DpUtil.dp2px(10));
|
||||
decoration.setOnlySetItemOffsetsButNoDraw(true);
|
||||
//mRecyclerView.addItemDecoration(decoration);
|
||||
adapter.setOnItemClickListener(new OnItemClickListener<BattlePassTask.Task>() {
|
||||
@Override
|
||||
public void onItemClick(BattlePassTask.Task bean, int position) {
|
||||
if (position == -2) {
|
||||
BattlePassUserInfoBean userInfoBean = userInfoListener.getBattlePassUserInfo();
|
||||
if (userInfoBean.getNextLevelExp() == 0) {
|
||||
ToastUtil.show(WordUtil.getNewString(R.string.battlepass_user_level_max));
|
||||
return;
|
||||
}
|
||||
long maxExp=userInfoBean.getMaxLevelExp() - userInfoBean.getBattlePassExp();
|
||||
|
||||
new XPopup.Builder(getContext())
|
||||
.enableDrag(false)
|
||||
.maxWidth(DeviceUtils.getScreenHeight((Activity) getContext()) - DpUtil.dp2px(34))
|
||||
.asCustom(new OrderLevelPopupWindow(getContext(),
|
||||
userInfoBean,
|
||||
userInfoBean.getBattlePassExp()-userInfoBean.getLastLevelExp(),
|
||||
userInfoBean.getNextLevelExp()-userInfoBean.getLastLevelExp(),
|
||||
String.valueOf(userInfoBean.getLevel()),
|
||||
String.valueOf(IMLoginManager.get(getContext()).getUserInfo().getCoin()),
|
||||
maxExp,
|
||||
new OrderLevelPopupWindow.OrderLevelCallback() {
|
||||
@Override
|
||||
public void onCallback(int code, String msg) {
|
||||
if (code == 1001) {
|
||||
new DialogUitl.Builder(getContext())
|
||||
.setView(com.yunbao.live.R.layout.dialog_live_unfollow)
|
||||
.setConfirmString(getString(com.yunbao.live.R.string.charge))
|
||||
.setContent(getString(com.yunbao.live.R.string.insufficient_balance))
|
||||
.setClickCallback(new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
|
||||
}
|
||||
}).build().show();
|
||||
return;
|
||||
}
|
||||
ToastUtil.show(msg);
|
||||
Bus.get().post(new BattlePassTypeEvent(0));
|
||||
updateData();
|
||||
}
|
||||
}
|
||||
)
|
||||
)
|
||||
.show();
|
||||
} else {
|
||||
updateData();
|
||||
Bus.get().post(new BattlePassTypeEvent(0));
|
||||
}
|
||||
}
|
||||
});
|
||||
mRecyclerView.setAdapter(adapter);
|
||||
}
|
||||
@Override
|
||||
public void updateData() {
|
||||
super.updateData();
|
||||
LiveNetManager.get(getContext())
|
||||
.getBattlePassTask(new HttpCallback<BattlePassTask>() {
|
||||
@Override
|
||||
public void onSuccess(BattlePassTask data) {
|
||||
List<BattlePassTask.Task> tasks = new ArrayList<>();
|
||||
tasks.add(new BattlePassTask.Task(-1));
|
||||
tasks.addAll(data.getDaily());
|
||||
tasks.add(new BattlePassTask.Task(-2));
|
||||
tasks.addAll(data.getSeason());
|
||||
adapter.setList(tasks);
|
||||
adapter.notifyDataSetChanged();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,236 @@
|
||||
package com.yunbao.main.fragment;
|
||||
|
||||
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.bean.BattlePassUserInfoBean;
|
||||
import com.yunbao.common.bean.LiveBattlePassRewardsBean;
|
||||
import com.yunbao.common.dialog.ActivateEliteBattleOrderPopupWindow;
|
||||
import com.yunbao.common.dialog.LiberalBattlePassPopupWindow;
|
||||
import com.yunbao.common.fragment.BaseFragment;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DeviceUtils;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.adapter.BattlePassRewardAdapter;
|
||||
import com.yunbao.main.event.BattlePassTypeEvent;
|
||||
import com.yunbao.main.interfaces.BattlePassUserInfoListener;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class BattlePassRewardFragment extends BaseFragment {
|
||||
ImageView tab1;
|
||||
ImageView tab2;
|
||||
ImageView tab3;
|
||||
RecyclerView recyclerView;
|
||||
|
||||
BattlePassRewardAdapter adapter;
|
||||
String enjoySpendMoney = "";
|
||||
String quintessenceSpendMoney = "";
|
||||
|
||||
BattlePassUserInfoListener userInfoListener;
|
||||
|
||||
public BattlePassRewardFragment(BattlePassUserInfoListener userInfoListener) {
|
||||
this.userInfoListener = userInfoListener;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View createView(LayoutInflater inflater, ViewGroup container) {
|
||||
return inflater.inflate(R.layout.fragment_battlepass_reward, container, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initVariables(Bundle bundle) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
updateData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void loadData() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initViews(Bundle savedInstanceState, View contentView) {
|
||||
tab1 = findViewById(R.id.tab_1);
|
||||
tab2 = findViewById(R.id.tab_2);
|
||||
tab3 = findViewById(R.id.tab_3);
|
||||
recyclerView = findViewById(R.id.recycler_view);
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
|
||||
adapter = new BattlePassRewardAdapter(getContext());
|
||||
adapter.setOnItemClickListener(new OnItemClickListener<LiveBattlePassRewardsBean.LiveBattlePassReward>() {
|
||||
@Override
|
||||
public void onItemClick(LiveBattlePassRewardsBean.LiveBattlePassReward bean, int position) {
|
||||
updateData();
|
||||
Bus.get().post(new BattlePassTypeEvent(0));
|
||||
}
|
||||
});
|
||||
recyclerView.setAdapter(adapter);
|
||||
|
||||
ViewClicksAntiShake.clicksAntiShake(tab2, () -> {
|
||||
if (tab2.getTag() != null) {
|
||||
ToastUtil.show(WordUtil.getNewString(R.string.battlepass_buy_max));
|
||||
return;
|
||||
}
|
||||
new XPopup.Builder(getContext())
|
||||
.enableDrag(false)
|
||||
.maxWidth(DeviceUtils.getScreenHeight((Activity) getContext()) - DpUtil.dp2px(34))
|
||||
.asCustom(new ActivateEliteBattleOrderPopupWindow(
|
||||
getContext(),
|
||||
quintessenceSpendMoney,
|
||||
true,
|
||||
new LiberalBattlePassPopupWindow.LiberalBattlePassCallback() {
|
||||
@Override
|
||||
public void onCallback(int code, String msg) {
|
||||
if (code == 1001) {
|
||||
new DialogUitl.Builder(getContext())
|
||||
.setView(com.yunbao.live.R.layout.dialog_live_unfollow)
|
||||
.setConfirmString(getString(com.yunbao.live.R.string.charge))
|
||||
.setContent(getString(com.yunbao.live.R.string.insufficient_balance))
|
||||
.setClickCallback(new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
|
||||
}
|
||||
}).build().show();
|
||||
return;
|
||||
}
|
||||
ToastUtil.show(msg);
|
||||
updateData();
|
||||
Bus.get().post(new BattlePassTypeEvent(0));
|
||||
}
|
||||
},
|
||||
"2"
|
||||
))
|
||||
.show();
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(tab3, () -> {
|
||||
if (tab3.getTag() != null) {
|
||||
ToastUtil.show(WordUtil.getNewString(R.string.battlepass_buy_max));
|
||||
return;
|
||||
}
|
||||
new XPopup.Builder(getContext())
|
||||
.enableDrag(false)
|
||||
.maxWidth(DeviceUtils.getScreenHeight((Activity) getContext()) - DpUtil.dp2px(34))
|
||||
.asCustom(new ActivateEliteBattleOrderPopupWindow(getContext(),
|
||||
enjoySpendMoney,
|
||||
false,
|
||||
new LiberalBattlePassPopupWindow.LiberalBattlePassCallback() {
|
||||
@Override
|
||||
public void onCallback(int code, String msg) {
|
||||
if (code == 1001) {
|
||||
new DialogUitl.Builder(getContext())
|
||||
.setView(com.yunbao.live.R.layout.dialog_live_unfollow)
|
||||
.setConfirmString(getString(com.yunbao.live.R.string.charge))
|
||||
.setContent(getString(com.yunbao.live.R.string.insufficient_balance))
|
||||
.setClickCallback(new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
|
||||
}
|
||||
}).build().show();
|
||||
return;
|
||||
}
|
||||
ToastUtil.show(msg);
|
||||
updateData();
|
||||
Bus.get().post(new BattlePassTypeEvent(0));
|
||||
}
|
||||
},
|
||||
"3"
|
||||
))
|
||||
.show();
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateData() {
|
||||
super.updateData();
|
||||
|
||||
LiveNetManager.get(getContext())
|
||||
.getLiveBattlePassRewards(new HttpCallback<LiveBattlePassRewardsBean>() {
|
||||
@Override
|
||||
public void onSuccess(LiveBattlePassRewardsBean data) {
|
||||
|
||||
int level = data.getLevel();
|
||||
for (LiveBattlePassRewardsBean.BattlePassType passType : data.getLive_battle_pass_type()) {
|
||||
if (passType.getId() == 2) {
|
||||
quintessenceSpendMoney = String.valueOf(passType.getDiamond_value());
|
||||
adapter.setQuintessenceSpendMoney(quintessenceSpendMoney);
|
||||
}
|
||||
if (passType.getId() == 3) {
|
||||
enjoySpendMoney = String.valueOf(passType.getDiamond_value());
|
||||
adapter.setEnjoySpendMoney(enjoySpendMoney);
|
||||
}
|
||||
|
||||
}
|
||||
Collection<Map<Integer, LiveBattlePassRewardsBean.LiveBattlePassReward>> values = data.getLive_battle_pass_rewards().values();
|
||||
List<Map<Integer, LiveBattlePassRewardsBean.LiveBattlePassReward>> list = new ArrayList<>(values);
|
||||
/* list.get(1).get(1).setReceived(2);
|
||||
list.get(0).get(2).setLock(2);
|
||||
list.get(1).get(2).setLock(2);
|
||||
type = 1;
|
||||
level = 3;*/
|
||||
adapter.setUserLevel(level);
|
||||
adapter.setList(list);
|
||||
initData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
private void initData() {
|
||||
BattlePassUserInfoBean userInfo = userInfoListener.getBattlePassUserInfo();
|
||||
if(userInfo!=null){
|
||||
setTab(userInfo);
|
||||
adapter.setUserType(userInfo);
|
||||
adapter.notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
private void setTab(BattlePassUserInfoBean data) {
|
||||
tab1.setImageResource(R.mipmap.ic_reward_tab_normal);
|
||||
tab2.setImageResource(R.mipmap.ic_reward_tab_upgrade_unselect);
|
||||
tab3.setImageResource(R.mipmap.ic_reward_tab_ultimate_unselect);
|
||||
if(data.getBattlePassUserRecords1()==2){
|
||||
tab1.setTag(true);
|
||||
tab1.setImageResource(R.mipmap.ic_reward_tab_normal);
|
||||
}
|
||||
if(data.getBattlePassUserRecords2()==2){
|
||||
tab2.setTag(true);
|
||||
tab2.setImageResource(R.mipmap.ic_reward_tab_upgrade);
|
||||
}
|
||||
if(data.getBattlePassUserRecords3()==2){
|
||||
tab3.setTag(true);
|
||||
tab3.setImageResource(R.mipmap.ic_reward_tab_ultimate);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,390 @@
|
||||
package com.yunbao.main.fragment;
|
||||
|
||||
import static android.content.Context.CLIPBOARD_SERVICE;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.provider.MediaStore;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.webkit.CookieManager;
|
||||
import android.webkit.ValueCallback;
|
||||
import android.webkit.WebChromeClient;
|
||||
import android.webkit.WebSettings;
|
||||
import android.webkit.WebView;
|
||||
import android.webkit.WebViewClient;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.momo.mcamera.util.JsonUtil;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.HtmlConfig;
|
||||
import com.yunbao.common.bean.CoolConfig;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.bean.NativeCallbackModel;
|
||||
import com.yunbao.common.dialog.CinemaTicketPopupWindow;
|
||||
import com.yunbao.common.event.JavascriptInterfaceEvent;
|
||||
import com.yunbao.common.fragment.BaseFragment;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DeviceUtils;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.JavascriptInterfacePlayLetUtils;
|
||||
import com.yunbao.common.utils.JavascriptInterfaceUtils;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.views.LoadingView;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.activity.MainActivity;
|
||||
import com.yunbao.main.activity.MyWalletActivity;
|
||||
import com.yunbao.main.dialog.EncourageDialog;
|
||||
import com.yunbao.main.utils.BottomBarUtil;
|
||||
import com.yunbao.share.ui.SharePopDialog;
|
||||
import com.yunbao.video.activity.VideoPlayActivity;
|
||||
import com.yunbao.video.utils.VideoStorge;
|
||||
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Locale;
|
||||
|
||||
public class MainHomeCommunityFragment extends BaseFragment {
|
||||
private ProgressBar mProgressBar;
|
||||
private WebView mWebView;
|
||||
public final int CHOOSE = 100;//Android 5.0以下的
|
||||
public final int CHOOSE_ANDROID_5 = 200;//Android 5.0以上的
|
||||
public ValueCallback<Uri> mValueCallback;
|
||||
public ValueCallback<Uri[]> mValueCallback2;
|
||||
private MainActivity nowMainActivity;
|
||||
Context mContext;
|
||||
|
||||
public MainHomeCommunityFragment(MainActivity nowMainActivity) {
|
||||
super();
|
||||
this.nowMainActivity=nowMainActivity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View createView(LayoutInflater inflater, ViewGroup container) {
|
||||
return inflater.inflate(R.layout.view_main_encourage, container, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initVariables(Bundle bundle) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initViews(Bundle savedInstanceState, View contentView) {
|
||||
//Bus.getOn(MainHomeCommunityFragment.this);
|
||||
mContext = contentView.getContext();
|
||||
nowMainActivity= (MainActivity) mContext;
|
||||
String url = HtmlConfig.ENCOURAGE + "?t=" + Math.random() + "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()
|
||||
+ "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0");
|
||||
// String url = "https://api.coolydrama.com/?agentCode=186279";
|
||||
final LinearLayout rootView = (LinearLayout) findViewById(R.id.rootView);
|
||||
mProgressBar = (ProgressBar) findViewById(R.id.progressbar);
|
||||
mWebView = new WebView(mContext);
|
||||
int aa = BottomBarUtil.getNavigationBarHeightIfRoom(mContext);
|
||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
|
||||
params.topMargin = DpUtil.dp2px(1);
|
||||
mWebView.setLayoutParams(params);
|
||||
mWebView.setOverScrollMode(View.OVER_SCROLL_NEVER);
|
||||
|
||||
LoadingView loadingView = new LoadingView(mContext);
|
||||
loadingView.show();
|
||||
|
||||
rootView.addView(loadingView);
|
||||
|
||||
mWebView.getSettings().setJavaScriptEnabled(true);
|
||||
mWebView.getSettings().setDomStorageEnabled(true);
|
||||
CookieManager cookieManager = CookieManager.getInstance();
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
cookieManager.setAcceptThirdPartyCookies(mWebView, true);
|
||||
} else {
|
||||
cookieManager.setAcceptCookie(true);
|
||||
}
|
||||
String appCachePath = mContext.getCacheDir().getAbsolutePath();
|
||||
// mWebView.getSettings().setAppCachePath(appCachePath);
|
||||
mWebView.getSettings().setAllowFileAccess(true);
|
||||
mWebView.getSettings().setUseWideViewPort(true); // 关键点
|
||||
mWebView.getSettings().setAllowFileAccess(true); // 允许访问文件
|
||||
mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);// 不加载缓存内容
|
||||
|
||||
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); // 是否允许JS打开新窗口
|
||||
mWebView.addJavascriptInterface(JavascriptInterfaceUtils.getInstance().setmContext(nowMainActivity, mWebView), "androidObject");
|
||||
//短剧
|
||||
// mWebView.addJavascriptInterface(JavascriptInterfacePlayLetUtils.getInstance().setmContext(nowMainActivity, mWebView), "jsBridge");
|
||||
mWebView.getSettings().setSupportMultipleWindows(true);
|
||||
rootView.addView(mWebView);
|
||||
|
||||
mWebView.setWebViewClient(new WebViewClient() {
|
||||
@Override
|
||||
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
||||
L.e("H5-------->" + url);
|
||||
if (url.startsWith(Constants.COPY_PREFIX)) {
|
||||
String content = url.substring(Constants.COPY_PREFIX.length());
|
||||
if (!TextUtils.isEmpty(content)) {
|
||||
copy(content);
|
||||
}
|
||||
} else {
|
||||
view.loadUrl(url);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageFinished(WebView view, String url) {
|
||||
super.onPageFinished(view, url);
|
||||
setTitle(view.getTitle());
|
||||
if (url.contains("for")) {
|
||||
mWebView.loadUrl("javascript:goAnchorTab()");
|
||||
}
|
||||
|
||||
String userAgent = "shixinzhang";
|
||||
String js = "window.localStorage.setItem('userAgent','" + userAgent + "');";
|
||||
String jsUrl = "javascript:(function({ var localStorage = window.localStorage; localStorage.setItem('userAgent','" + userAgent + "') })()";
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||
view.evaluateJavascript(js, null);
|
||||
} else {
|
||||
view.loadUrl(jsUrl);
|
||||
view.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
mWebView.setWebChromeClient(new WebChromeClient() {
|
||||
@Override
|
||||
public void onProgressChanged(WebView view, int newProgress) {
|
||||
if (newProgress == 100) {
|
||||
loadingView.hide();
|
||||
mProgressBar.setVisibility(View.GONE);
|
||||
} else {
|
||||
loadingView.show();
|
||||
mProgressBar.setProgress(newProgress);
|
||||
}
|
||||
}
|
||||
|
||||
//以下是在各个Android版本中 WebView调用文件选择器的方法
|
||||
// For Android < 3.0
|
||||
public void openFileChooser(ValueCallback<Uri> valueCallback) {
|
||||
openImageChooserActivity(valueCallback);
|
||||
}
|
||||
|
||||
// For Android >= 3.0
|
||||
public void openFileChooser(ValueCallback valueCallback, String acceptType) {
|
||||
openImageChooserActivity(valueCallback);
|
||||
}
|
||||
|
||||
//For Android >= 4.1
|
||||
public void openFileChooser(ValueCallback<Uri> valueCallback,
|
||||
String acceptType, String capture) {
|
||||
openImageChooserActivity(valueCallback);
|
||||
}
|
||||
|
||||
// For Android >= 5.0
|
||||
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
|
||||
@Override
|
||||
public boolean onShowFileChooser(WebView webView,
|
||||
ValueCallback<Uri[]> filePathCallback,
|
||||
FileChooserParams fileChooserParams) {
|
||||
mValueCallback2 = filePathCallback;
|
||||
WebChromeClient.FileChooserParams mFileChooserParams;
|
||||
mFileChooserParams = fileChooserParams;
|
||||
String at = Arrays.toString(mFileChooserParams.getAcceptTypes());
|
||||
String type;
|
||||
if (at.contains("image/")) {//图片
|
||||
type = "image/*";
|
||||
} else if (at.contains("video/")) {
|
||||
type = "video/*";
|
||||
} else {
|
||||
type = "*/*";
|
||||
}
|
||||
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
|
||||
intent.addCategory(Intent.CATEGORY_OPENABLE);
|
||||
intent.setType(type);
|
||||
nowMainActivity.startActivityMain2(intent, CHOOSE_ANDROID_5);
|
||||
return true;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
|
||||
}
|
||||
mWebView.loadUrl(url);
|
||||
findViewById(R.id.native_callback).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected void setTitle(String title) {
|
||||
TextView titleView = (TextView) findViewById(R.id.titleView);
|
||||
if (titleView != null) {
|
||||
titleView.setText(title);
|
||||
}
|
||||
}
|
||||
|
||||
private void gotoLive(final String live_id) {
|
||||
LiveHttpUtil.getLiveInfo(live_id + "", new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && info.length > 0) {
|
||||
LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
|
||||
|
||||
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
|
||||
@Override
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCheckError(String contextError) {
|
||||
|
||||
}
|
||||
});
|
||||
} else {
|
||||
|
||||
RouteUtil.forwardUserHome(mContext, String.valueOf(live_id), 0);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
private void openImageChooserActivity(ValueCallback<Uri> valueCallback) {
|
||||
mValueCallback = valueCallback;
|
||||
Intent intent = new Intent();
|
||||
if (Build.VERSION.SDK_INT < 19) {
|
||||
intent.setAction(Intent.ACTION_GET_CONTENT);
|
||||
} else {
|
||||
intent.setAction(Intent.ACTION_PICK);
|
||||
intent.setData(MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
|
||||
}
|
||||
intent.setType("image/*");
|
||||
nowMainActivity.startActivityMain(Intent.createChooser(intent, mContext.getString(R.string.choose_flie)), CHOOSE);
|
||||
// startActivityForResult(Intent.createChooser(intent,mContext.getString(R.string.choose_flie)), CHOOSE);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
// Bus.getOff(MainHomeCommunityFragment.this);
|
||||
if (mWebView != null) {
|
||||
ViewGroup parent = (ViewGroup) mWebView.getParent();
|
||||
if (parent != null) {
|
||||
parent.removeView(mWebView);
|
||||
}
|
||||
mWebView.reload();
|
||||
mWebView.destroy();
|
||||
}
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
/**
|
||||
* 复制到剪贴板
|
||||
*/
|
||||
private void copy(String content) {
|
||||
ClipboardManager cm = (ClipboardManager) mContext.getSystemService(CLIPBOARD_SERVICE);
|
||||
ClipData clipData = ClipData.newPlainText("text", content);
|
||||
cm.setPrimaryClip(clipData);
|
||||
ToastUtil.show(mContext.getString(R.string.copy_success));
|
||||
}
|
||||
|
||||
public void closeFinger() {
|
||||
if (Build.VERSION.SDK_INT >= 21) {
|
||||
mWebView.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
String method = "Left()";//拼接参数,就可以把数据传递给js
|
||||
mWebView.evaluateJavascript(method, new ValueCallback<String>() {
|
||||
@Override
|
||||
public void onReceiveValue(String value) {
|
||||
Log.i("Log", "Left()js返回" + value);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
mWebView.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mWebView.setWebViewClient(new WebViewClient() {
|
||||
@Override
|
||||
public void onPageFinished(WebView view, String url) {
|
||||
super.onPageFinished(view, url);
|
||||
mWebView.loadUrl("javascript:Left()");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onJavascriptInterfaceEvent2(JavascriptInterfaceEvent event) {
|
||||
if (!TextUtils.isEmpty(event.getMethod())) {
|
||||
if (TextUtils.equals(event.getMethod(), "androidCommunityGift")) {
|
||||
new Handler(Looper.getMainLooper()).post(new Runnable() {
|
||||
public void run() {
|
||||
EncourageDialog fragment = new EncourageDialog();
|
||||
fragment.setId(event.getPostsId());
|
||||
if (mContext instanceof MainActivity) {
|
||||
fragment.show(((MainActivity) mContext).getSupportFragmentManager(), "EncourageDialog");
|
||||
}
|
||||
}
|
||||
});
|
||||
} else if (TextUtils.equals(event.getMethod(), "androidPlayVideo")) {
|
||||
VideoStorge.getInstance().put(Constants.VIDEO_COMMUNITY, event.getVideoBeanList());
|
||||
VideoPlayActivity.forward(mContext, event.getPosition(), Constants.VIDEO_COMMUNITY, 1);
|
||||
} else if (TextUtils.equals(event.getMethod(), "androidMethodLookToLive")) {
|
||||
//看直播
|
||||
gotoLive(event.getLiveId());
|
||||
} else if (TextUtils.equals(event.getMethod(), "isCloseNavigation")) {
|
||||
if (nowMainActivity != null) {
|
||||
nowMainActivity.isClose(event.getIsClose());
|
||||
}
|
||||
} else if (TextUtils.equals(event.getMethod(), "androidCommunityShare")) {
|
||||
JSONObject json = JSONObject.parseObject(event.getData());
|
||||
new SharePopDialog(mContext)
|
||||
.setShareLink(CommonAppConfig.HOST + json.getString("link"))
|
||||
.setAnchorAvatar(json.getString("avatar"))
|
||||
.showDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void loadData() {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,206 @@
|
||||
package com.yunbao.main.fragment;
|
||||
|
||||
import static android.content.Context.CLIPBOARD_SERVICE;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.webkit.CookieManager;
|
||||
import android.webkit.ValueCallback;
|
||||
import android.webkit.WebSettings;
|
||||
import android.webkit.WebView;
|
||||
import android.webkit.WebViewClient;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.momo.mcamera.util.JsonUtil;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.CoolConfig;
|
||||
import com.yunbao.common.bean.NativeCallbackModel;
|
||||
import com.yunbao.common.dialog.CinemaTicketPopupWindow;
|
||||
import com.yunbao.common.event.JavascriptInterfaceEvent;
|
||||
import com.yunbao.common.fragment.BaseFragment;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.DeviceUtils;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.JavascriptInterfacePlayLetUtils;
|
||||
import com.yunbao.common.utils.JavascriptInterfaceUtils;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.activity.MyWalletActivity;
|
||||
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public class MainHomeCommunityVideoFragment extends BaseFragment {
|
||||
WebView mWebView;
|
||||
private Context mContext;
|
||||
|
||||
@Override
|
||||
public View createView(LayoutInflater inflater, ViewGroup container) {
|
||||
return inflater.inflate(R.layout.view_main_community_video, container, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initVariables(Bundle bundle) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initViews(Bundle savedInstanceState, View contentView) {
|
||||
mContext = getActivity();
|
||||
mWebView = findViewById(R.id.webView);
|
||||
mWebView.getSettings().setJavaScriptEnabled(true);
|
||||
mWebView.getSettings().setDomStorageEnabled(true);
|
||||
CookieManager cookieManager = CookieManager.getInstance();
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
cookieManager.setAcceptThirdPartyCookies(mWebView, true);
|
||||
} else {
|
||||
cookieManager.setAcceptCookie(true);
|
||||
}
|
||||
mWebView.getSettings().setAllowFileAccess(true);
|
||||
mWebView.getSettings().setUseWideViewPort(true); // 关键点
|
||||
mWebView.getSettings().setAllowFileAccess(true); // 允许访问文件
|
||||
mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);// 不加载缓存内容
|
||||
|
||||
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); // 是否允许JS打开新窗口
|
||||
//短剧
|
||||
mWebView.addJavascriptInterface(JavascriptInterfacePlayLetUtils.getInstance().setmContext(getActivity(), mWebView), "jsBridge");
|
||||
mWebView.getSettings().setSupportMultipleWindows(true);
|
||||
|
||||
mWebView.setWebViewClient(new WebViewClient() {
|
||||
@Override
|
||||
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
||||
L.e("H5-------->" + url);
|
||||
if (url.startsWith(Constants.COPY_PREFIX)) {
|
||||
String content = url.substring(Constants.COPY_PREFIX.length());
|
||||
if (!TextUtils.isEmpty(content)) {
|
||||
copy(content);
|
||||
}
|
||||
} else {
|
||||
view.loadUrl(url);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageFinished(WebView view, String url) {
|
||||
super.onPageFinished(view, url);
|
||||
if (url.contains("for")) {
|
||||
mWebView.loadUrl("javascript:goAnchorTab()");
|
||||
}
|
||||
|
||||
String userAgent = "shixinzhang";
|
||||
String js = "window.localStorage.setItem('userAgent','" + userAgent + "');";
|
||||
String jsUrl = "javascript:(function({ var localStorage = window.localStorage; localStorage.setItem('userAgent','" + userAgent + "') })()";
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||
view.evaluateJavascript(js, null);
|
||||
} else {
|
||||
view.loadUrl(jsUrl);
|
||||
view.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void copy(String content) {
|
||||
ClipboardManager cm = (ClipboardManager) getActivity().getSystemService(CLIPBOARD_SERVICE);
|
||||
ClipData clipData = ClipData.newPlainText("text", content);
|
||||
cm.setPrimaryClip(clipData);
|
||||
ToastUtil.show(getActivity().getString(R.string.copy_success));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void loadData() {
|
||||
LiveHttpUtil.getCoolydrama(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
System.out.println("code = " + code + ", msg = " + msg + ", info = " + Arrays.toString(info));
|
||||
if (code == 0) {
|
||||
mWebView.loadUrl(JSONObject.parseObject(info[0]).getString("url"));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onJavascriptInterfaceEvent2(JavascriptInterfaceEvent event) {
|
||||
if (TextUtils.equals(event.getMethod(), "postWeakBalance")) {
|
||||
LiveNetManager.get(mContext).
|
||||
getCoolConfig(new com.yunbao.common.http.base.HttpCallback<CoolConfig>() {
|
||||
@Override
|
||||
public void onSuccess(CoolConfig data) {
|
||||
new XPopup.Builder(mContext)
|
||||
.enableDrag(false)
|
||||
.autoOpenSoftInput(false)
|
||||
.maxWidth(DeviceUtils.getScreenHeight((Activity) mContext) - DpUtil.dp2px(34))
|
||||
.asCustom(new CinemaTicketPopupWindow(mContext, data.setTicketCount(event.getCoolConfig().getTicketCount()), new CinemaTicketPopupWindow.CinemaTicketPopupWindowCallBack() {
|
||||
@Override
|
||||
public void onCallBack(String data) {
|
||||
if (TextUtils.equals(data, "2")) {
|
||||
DialogUitl.showSimpleDialog(mContext, mContext.getString(com.yunbao.live.R.string.live_coin_not_enough), false,
|
||||
new DialogUitl.SimpleCallback2() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
mContext.startActivity(new Intent(mContext, MyWalletActivity.class).putExtra("p", 1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancelClick() {
|
||||
|
||||
}
|
||||
});
|
||||
} else if (TextUtils.equals(data, "1")) {
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "兑换成功" : "Successful exchange");
|
||||
mWebView.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
NativeCallbackModel model = new NativeCallbackModel();
|
||||
model.setUid(String.valueOf(IMLoginManager.get(mContext).getUserInfo().getId()));
|
||||
String nativeJson = new JsonUtil().toJson(model);
|
||||
mWebView.evaluateJavascript("javascript:nativeCallback('" + nativeJson + "')", new ValueCallback<String>() {
|
||||
@Override
|
||||
public void onReceiveValue(String value) {
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
})).show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(error);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
public void onPausePlay(){
|
||||
mWebView.onPause();
|
||||
}
|
||||
public void onResumePlay(){
|
||||
mWebView.onResume();
|
||||
}
|
||||
}
|
||||
@@ -692,12 +692,15 @@ public class MainHttpUtil {
|
||||
/**
|
||||
* 社区动态礼物信息列表
|
||||
*/
|
||||
public static void getDynamicSendGiftList(String id, HttpCallback callback) {
|
||||
public static void getDynamicSendGiftList(String id, int page, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Community.getDynamicSendGiftList", MainHttpConsts.GET_DYNAMICSENDGIFTLIST)
|
||||
.params("dynamic_id", id)
|
||||
.params("page", page)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 是否是主播
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.yunbao.main.interfaces;
|
||||
|
||||
import com.yunbao.common.bean.BattlePassUserInfoBean;
|
||||
|
||||
public interface BattlePassUserInfoListener {
|
||||
BattlePassUserInfoBean getBattlePassUserInfo();
|
||||
}
|
||||
@@ -8,6 +8,7 @@ import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
@@ -27,7 +28,15 @@ import android.widget.LinearLayout;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.RequiresApi;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||
import androidx.viewpager2.widget.ViewPager2;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
@@ -38,9 +47,12 @@ import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.HtmlConfig;
|
||||
import com.yunbao.common.bean.CoolConfig;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.bean.LiveClassBean;
|
||||
import com.yunbao.common.bean.NativeCallbackModel;
|
||||
import com.yunbao.common.dialog.CinemaTicketPopupWindow;
|
||||
import com.yunbao.common.dialog.WarOrderExchangeDetailsPopupWindow;
|
||||
import com.yunbao.common.event.JavascriptInterfaceEvent;
|
||||
import com.yunbao.common.fragment.BaseFragment;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
@@ -61,16 +73,33 @@ import com.yunbao.live.views.LoadingView;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.activity.MainActivity;
|
||||
import com.yunbao.main.activity.MyWalletActivity;
|
||||
import com.yunbao.main.adapter.MainHomeLivesClassAdapter;
|
||||
import com.yunbao.main.dialog.EncourageDialog;
|
||||
import com.yunbao.main.fragment.BattlePassRewardFragment;
|
||||
import com.yunbao.main.fragment.MainHomeCommunityFragment;
|
||||
import com.yunbao.main.fragment.MainHomeCommunityVideoFragment;
|
||||
import com.yunbao.main.fragment.SearchResultsFragment;
|
||||
import com.yunbao.main.utils.BottomBarUtil;
|
||||
import com.yunbao.share.ui.SharePopDialog;
|
||||
import com.yunbao.video.activity.VideoPlayActivity;
|
||||
import com.yunbao.video.utils.VideoStorge;
|
||||
|
||||
import net.lucode.hackware.magicindicator.MagicIndicator;
|
||||
import net.lucode.hackware.magicindicator.ViewPagerHelper;
|
||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator;
|
||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter;
|
||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator;
|
||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView;
|
||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator;
|
||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.ColorTransitionPagerTitleView;
|
||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.SimplePagerTitleView;
|
||||
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
@@ -87,183 +116,138 @@ public class MainHomeCommunityViewHolder extends AbsMainHomeChildViewHolder impl
|
||||
public ValueCallback<Uri> mValueCallback;
|
||||
public ValueCallback<Uri[]> mValueCallback2;
|
||||
private MainActivity nowMainActivity;
|
||||
List<BaseFragment> fragments;
|
||||
ViewPager2 viewPager;
|
||||
private MagicIndicator mIndicator;
|
||||
|
||||
|
||||
public MainHomeCommunityViewHolder(Context context, ViewGroup parentView, MainActivity mainActivity) {
|
||||
super(context, parentView);
|
||||
mContext = context;
|
||||
nowMainActivity = mainActivity;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.view_main_encourage;
|
||||
return R.layout.view_main_community;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
Bus.getOn(this);
|
||||
String url = HtmlConfig.ENCOURAGE + "?t=" + Math.random() + "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()
|
||||
+ "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0");
|
||||
// String url = "https://api.coolydrama.com/?agentCode=186279";
|
||||
final LinearLayout rootView = (LinearLayout) findViewById(R.id.rootView);
|
||||
mProgressBar = (ProgressBar) findViewById(R.id.progressbar);
|
||||
mWebView = new WebView(mContext);
|
||||
int aa = BottomBarUtil.getNavigationBarHeightIfRoom(mContext);
|
||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
|
||||
params.topMargin = DpUtil.dp2px(1);
|
||||
mWebView.setLayoutParams(params);
|
||||
mWebView.setOverScrollMode(View.OVER_SCROLL_NEVER);
|
||||
|
||||
LoadingView loadingView = new LoadingView(mContext);
|
||||
loadingView.show();
|
||||
|
||||
rootView.addView(loadingView);
|
||||
|
||||
mWebView.getSettings().setJavaScriptEnabled(true);
|
||||
mWebView.getSettings().setDomStorageEnabled(true);
|
||||
CookieManager cookieManager = CookieManager.getInstance();
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
cookieManager.setAcceptThirdPartyCookies(mWebView, true);
|
||||
} else {
|
||||
cookieManager.setAcceptCookie(true);
|
||||
}
|
||||
String appCachePath = mContext.getCacheDir().getAbsolutePath();
|
||||
// mWebView.getSettings().setAppCachePath(appCachePath);
|
||||
mWebView.getSettings().setAllowFileAccess(true);
|
||||
mWebView.getSettings().setUseWideViewPort(true); // 关键点
|
||||
mWebView.getSettings().setAllowFileAccess(true); // 允许访问文件
|
||||
mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);// 不加载缓存内容
|
||||
|
||||
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); // 是否允许JS打开新窗口
|
||||
mWebView.addJavascriptInterface(JavascriptInterfaceUtils.getInstance().setmContext(nowMainActivity, mWebView), "androidObject");
|
||||
//短剧
|
||||
mWebView.addJavascriptInterface(JavascriptInterfacePlayLetUtils.getInstance().setmContext(nowMainActivity, mWebView), "jsBridge");
|
||||
mWebView.getSettings().setSupportMultipleWindows(true);
|
||||
rootView.addView(mWebView);
|
||||
|
||||
mWebView.setWebViewClient(new WebViewClient() {
|
||||
mIndicator = (MagicIndicator) findViewById(R.id.indicator);
|
||||
viewPager = (ViewPager2) findViewById(R.id.community_viewpager);
|
||||
fragments = new ArrayList<>();
|
||||
fragments.add(new MainHomeCommunityFragment(nowMainActivity));
|
||||
fragments.add(new MainHomeCommunityVideoFragment());
|
||||
viewPager.setAdapter(new FragmentStateAdapter(((AppCompatActivity) mContext)) {
|
||||
@NonNull
|
||||
@Override
|
||||
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
||||
L.e("H5-------->" + url);
|
||||
if (url.startsWith(Constants.COPY_PREFIX)) {
|
||||
String content = url.substring(Constants.COPY_PREFIX.length());
|
||||
if (!TextUtils.isEmpty(content)) {
|
||||
copy(content);
|
||||
public Fragment createFragment(int position) {
|
||||
return fragments.get(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return fragments.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getItemId(int position) {
|
||||
return super.getItemId(position);
|
||||
}
|
||||
});
|
||||
viewPager.setUserInputEnabled(false);
|
||||
initTab();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
|
||||
}
|
||||
|
||||
String[] titles;
|
||||
|
||||
private void initTab() {
|
||||
titles = new String[]{"社區", "短劇"};
|
||||
if (!WordUtil.isNewZh()) {
|
||||
titles = new String[]{"Community", "Theater"};
|
||||
}
|
||||
CommonNavigator commonNavigator = new CommonNavigator(mContext);
|
||||
commonNavigator.setAdjustMode(true);
|
||||
commonNavigator.setAdapter(new CommonNavigatorAdapter() {
|
||||
@Override
|
||||
public int getCount() {
|
||||
return titles.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPagerTitleView getTitleView(Context context, int index) {
|
||||
SimplePagerTitleView simplePagerTitleView = new ColorTransitionPagerTitleView(context);
|
||||
simplePagerTitleView.setNormalColor(Color.parseColor("#B1B1B1"));
|
||||
simplePagerTitleView.setSelectedColor(Color.parseColor("#FFC621"));
|
||||
simplePagerTitleView.setText(titles[index]);
|
||||
simplePagerTitleView.setTextSize(18);
|
||||
simplePagerTitleView.getPaint().setFakeBoldText(true);
|
||||
simplePagerTitleView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (viewPager != null) {
|
||||
viewPager.setCurrentItem(index);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
view.loadUrl(url);
|
||||
}
|
||||
return true;
|
||||
});
|
||||
return simplePagerTitleView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageFinished(WebView view, String url) {
|
||||
super.onPageFinished(view, url);
|
||||
setTitle(view.getTitle());
|
||||
if (url.contains("for")) {
|
||||
mWebView.loadUrl("javascript:goAnchorTab()");
|
||||
}
|
||||
|
||||
String userAgent = "shixinzhang";
|
||||
String js = "window.localStorage.setItem('userAgent','" + userAgent + "');";
|
||||
String jsUrl = "javascript:(function({ var localStorage = window.localStorage; localStorage.setItem('userAgent','" + userAgent + "') })()";
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||
view.evaluateJavascript(js, null);
|
||||
} else {
|
||||
view.loadUrl(jsUrl);
|
||||
view.reload();
|
||||
}
|
||||
public IPagerIndicator getIndicator(Context context) {
|
||||
LinePagerIndicator linePagerIndicator = new LinePagerIndicator(context);
|
||||
linePagerIndicator.setMode(LinePagerIndicator.MODE_WRAP_CONTENT);
|
||||
linePagerIndicator.setXOffset(DpUtil.dp2px(5));
|
||||
linePagerIndicator.setRoundRadius(DpUtil.dp2px(2));
|
||||
linePagerIndicator.setColors(Color.parseColor("#FFC621"));
|
||||
return linePagerIndicator;
|
||||
}
|
||||
});
|
||||
mWebView.setWebChromeClient(new WebChromeClient() {
|
||||
@Override
|
||||
public void onProgressChanged(WebView view, int newProgress) {
|
||||
if (newProgress == 100) {
|
||||
loadingView.hide();
|
||||
mProgressBar.setVisibility(View.GONE);
|
||||
} else {
|
||||
loadingView.show();
|
||||
mProgressBar.setProgress(newProgress);
|
||||
}
|
||||
}
|
||||
|
||||
//以下是在各个Android版本中 WebView调用文件选择器的方法
|
||||
// For Android < 3.0
|
||||
public void openFileChooser(ValueCallback<Uri> valueCallback) {
|
||||
openImageChooserActivity(valueCallback);
|
||||
}
|
||||
|
||||
// For Android >= 3.0
|
||||
public void openFileChooser(ValueCallback valueCallback, String acceptType) {
|
||||
openImageChooserActivity(valueCallback);
|
||||
}
|
||||
|
||||
//For Android >= 4.1
|
||||
public void openFileChooser(ValueCallback<Uri> valueCallback,
|
||||
String acceptType, String capture) {
|
||||
openImageChooserActivity(valueCallback);
|
||||
}
|
||||
|
||||
// For Android >= 5.0
|
||||
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
|
||||
@Override
|
||||
public boolean onShowFileChooser(WebView webView,
|
||||
ValueCallback<Uri[]> filePathCallback,
|
||||
FileChooserParams fileChooserParams) {
|
||||
mValueCallback2 = filePathCallback;
|
||||
WebChromeClient.FileChooserParams mFileChooserParams;
|
||||
mFileChooserParams = fileChooserParams;
|
||||
String at = Arrays.toString(mFileChooserParams.getAcceptTypes());
|
||||
String type;
|
||||
if (at.contains("image/")) {//图片
|
||||
type = "image/*";
|
||||
} else if (at.contains("video/")) {
|
||||
type = "video/*";
|
||||
} else {
|
||||
type = "*/*";
|
||||
}
|
||||
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
|
||||
intent.addCategory(Intent.CATEGORY_OPENABLE);
|
||||
intent.setType(type);
|
||||
nowMainActivity.startActivityMain2(intent, CHOOSE_ANDROID_5);
|
||||
return true;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
|
||||
}
|
||||
mWebView.loadUrl(url);
|
||||
// findViewById(R.id.native_callback).setOnClickListener(new View.OnClickListener() {
|
||||
// @Override
|
||||
// public void onClick(View view) {
|
||||
// mWebView.post(new Runnable() {
|
||||
// @Override
|
||||
// public void run() {
|
||||
//
|
||||
// NativeCallbackModel model = new NativeCallbackModel();
|
||||
// model.setUid(String.valueOf(IMLoginManager.get(mContext).getUserInfo().getId()));
|
||||
// String nativeJson = new JsonUtil().toJson(model);
|
||||
// mWebView.evaluateJavascript("javascript:nativeCallback('" +nativeJson + "')", new ValueCallback<String>() {
|
||||
// @Override
|
||||
// public void onReceiveValue(String value) {
|
||||
// }
|
||||
// });
|
||||
//
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// });
|
||||
mIndicator.setNavigator(commonNavigator);
|
||||
bind(mIndicator, viewPager);
|
||||
mIndicator.onPageSelected(0);
|
||||
viewPager.setCurrentItem(0);
|
||||
}
|
||||
|
||||
public void loadNewUrl() {
|
||||
}
|
||||
|
||||
|
||||
protected void setTitle(String title) {
|
||||
TextView titleView = (TextView) findViewById(R.id.titleView);
|
||||
if (titleView != null) {
|
||||
titleView.setText(title);
|
||||
public void onPauseVideo() {
|
||||
if(fragments==null || fragments.isEmpty()){
|
||||
return;
|
||||
}
|
||||
BaseFragment fragment = fragments.get(viewPager.getCurrentItem());
|
||||
if(fragment==null){
|
||||
return;
|
||||
}
|
||||
if (fragment instanceof MainHomeCommunityVideoFragment) {
|
||||
// viewPager.setCurrentItem(0, false);
|
||||
((MainHomeCommunityVideoFragment)fragment).onPausePlay();
|
||||
}
|
||||
}
|
||||
public void onResumePlay() {
|
||||
if(fragments==null || fragments.isEmpty()){
|
||||
return;
|
||||
}
|
||||
BaseFragment fragment = fragments.get(viewPager.getCurrentItem());
|
||||
if(fragment==null){
|
||||
return;
|
||||
}
|
||||
if (fragment instanceof MainHomeCommunityVideoFragment) {
|
||||
// viewPager.setCurrentItem(0, false);
|
||||
((MainHomeCommunityVideoFragment)fragment).onResumePlay();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -272,189 +256,42 @@ public class MainHomeCommunityViewHolder extends AbsMainHomeChildViewHolder impl
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void gotoLive(final String live_id) {
|
||||
LiveHttpUtil.getLiveInfo(live_id + "", new HttpCallback() {
|
||||
public static void bind(final MagicIndicator magicIndicator, ViewPager2 viewPager) {
|
||||
viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && info.length > 0) {
|
||||
LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
|
||||
|
||||
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
|
||||
@Override
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCheckError(String contextError) {
|
||||
|
||||
}
|
||||
});
|
||||
} else {
|
||||
|
||||
RouteUtil.forwardUserHome(mContext, String.valueOf(live_id), 0);
|
||||
}
|
||||
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||
magicIndicator.onPageScrolled(position, positionOffset, positionOffsetPixels);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
super.onPageSelected(position);
|
||||
magicIndicator.onPageSelected(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
super.onPageScrollStateChanged(state);
|
||||
magicIndicator.onPageScrollStateChanged(state);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void openImageChooserActivity(ValueCallback<Uri> valueCallback) {
|
||||
mValueCallback = valueCallback;
|
||||
Intent intent = new Intent();
|
||||
if (Build.VERSION.SDK_INT < 19) {
|
||||
intent.setAction(Intent.ACTION_GET_CONTENT);
|
||||
} else {
|
||||
intent.setAction(Intent.ACTION_PICK);
|
||||
intent.setData(MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
|
||||
}
|
||||
intent.setType("image/*");
|
||||
nowMainActivity.startActivityMain(Intent.createChooser(intent, mContext.getString(R.string.choose_flie)), CHOOSE);
|
||||
// startActivityForResult(Intent.createChooser(intent,mContext.getString(R.string.choose_flie)), CHOOSE);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
Bus.getOff(this);
|
||||
if (mWebView != null) {
|
||||
ViewGroup parent = (ViewGroup) mWebView.getParent();
|
||||
if (parent != null) {
|
||||
parent.removeView(mWebView);
|
||||
}
|
||||
mWebView.reload();
|
||||
mWebView.destroy();
|
||||
}
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
/**
|
||||
* 复制到剪贴板
|
||||
*/
|
||||
private void copy(String content) {
|
||||
ClipboardManager cm = (ClipboardManager) mContext.getSystemService(CLIPBOARD_SERVICE);
|
||||
ClipData clipData = ClipData.newPlainText("text", content);
|
||||
cm.setPrimaryClip(clipData);
|
||||
ToastUtil.show(mContext.getString(R.string.copy_success));
|
||||
}
|
||||
|
||||
public void closeFinger() {
|
||||
if (Build.VERSION.SDK_INT >= 21) {
|
||||
mWebView.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
String method = "Left()";//拼接参数,就可以把数据传递给js
|
||||
mWebView.evaluateJavascript(method, new ValueCallback<String>() {
|
||||
@Override
|
||||
public void onReceiveValue(String value) {
|
||||
Log.i("Log", "Left()js返回" + value);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
mWebView.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mWebView.setWebViewClient(new WebViewClient() {
|
||||
@Override
|
||||
public void onPageFinished(WebView view, String url) {
|
||||
super.onPageFinished(view, url);
|
||||
mWebView.loadUrl("javascript:Left()");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
BaseFragment fragment = fragments.get(viewPager.getCurrentItem());
|
||||
if (fragment instanceof MainHomeCommunityFragment) {
|
||||
((MainHomeCommunityFragment) fragment).closeFinger();
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onJavascriptInterfaceEvent(JavascriptInterfaceEvent event) {
|
||||
if (!TextUtils.isEmpty(event.getMethod())) {
|
||||
if (TextUtils.equals(event.getMethod(), "androidCommunityGift")) {
|
||||
new Handler(Looper.getMainLooper()).post(new Runnable() {
|
||||
public void run() {
|
||||
EncourageDialog fragment = new EncourageDialog();
|
||||
fragment.setId(event.getPostsId());
|
||||
if (mContext instanceof MainActivity) {
|
||||
fragment.show(((MainActivity) mContext).getSupportFragmentManager(), "EncourageDialog");
|
||||
}
|
||||
}
|
||||
});
|
||||
} else if (TextUtils.equals(event.getMethod(), "androidPlayVideo")) {
|
||||
VideoStorge.getInstance().put(Constants.VIDEO_COMMUNITY, event.getVideoBeanList());
|
||||
VideoPlayActivity.forward(mContext, event.getPosition(), Constants.VIDEO_COMMUNITY, 1);
|
||||
} else if (TextUtils.equals(event.getMethod(), "androidMethodLookToLive")) {
|
||||
//看直播
|
||||
gotoLive(event.getLiveId());
|
||||
} else if (TextUtils.equals(event.getMethod(), "isCloseNavigation")) {
|
||||
if (nowMainActivity != null) {
|
||||
nowMainActivity.isClose(event.getIsClose());
|
||||
}
|
||||
} else if (TextUtils.equals(event.getMethod(), "androidCommunityShare")) {
|
||||
JSONObject json = JSONObject.parseObject(event.getData());
|
||||
new SharePopDialog(mContext)
|
||||
.setShareLink(CommonAppConfig.HOST + json.getString("link"))
|
||||
.setAnchorAvatar(json.getString("avatar"))
|
||||
.showDialog();
|
||||
} else if (TextUtils.equals(event.getMethod(), "postWeakBalance")) {
|
||||
LiveNetManager.get(mContext).
|
||||
getCoolConfig(new com.yunbao.common.http.base.HttpCallback<CoolConfig>() {
|
||||
@Override
|
||||
public void onSuccess(CoolConfig data) {
|
||||
new XPopup.Builder(mContext)
|
||||
.enableDrag(false)
|
||||
.autoOpenSoftInput(false)
|
||||
.maxWidth(DeviceUtils.getScreenHeight((Activity) mContext) - DpUtil.dp2px(34))
|
||||
.asCustom(new CinemaTicketPopupWindow(mContext, data.setTicketCount(event.getCoolConfig().getTicketCount()), new CinemaTicketPopupWindow.CinemaTicketPopupWindowCallBack() {
|
||||
@Override
|
||||
public void onCallBack(String data) {
|
||||
if (TextUtils.equals(data, "2")) {
|
||||
DialogUitl.showSimpleDialog(mContext, mContext.getString(com.yunbao.live.R.string.live_coin_not_enough), false,
|
||||
new DialogUitl.SimpleCallback2() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
mContext.startActivity(new Intent(mContext, MyWalletActivity.class).putExtra("p", 1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancelClick() {
|
||||
|
||||
}
|
||||
});
|
||||
} else if (TextUtils.equals(data, "1")) {
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "兑换成功" : "Successful exchange");
|
||||
mWebView.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
NativeCallbackModel model = new NativeCallbackModel();
|
||||
model.setUid(String.valueOf(IMLoginManager.get(mContext).getUserInfo().getId()));
|
||||
String nativeJson = new JsonUtil().toJson(model);
|
||||
mWebView.evaluateJavascript("javascript:nativeCallback('" + nativeJson + "')", new ValueCallback<String>() {
|
||||
@Override
|
||||
public void onReceiveValue(String value) {
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
})).show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(error);
|
||||
}
|
||||
});
|
||||
|
||||
public void setValueCallback2(Uri[] results) {
|
||||
BaseFragment fragment = fragments.get(viewPager.getCurrentItem());
|
||||
if (fragment instanceof MainHomeCommunityFragment) {
|
||||
if (((MainHomeCommunityFragment) fragment).mValueCallback2 == null) {
|
||||
return;
|
||||
}
|
||||
((MainHomeCommunityFragment) fragment).mValueCallback2.onReceiveValue(results);
|
||||
((MainHomeCommunityFragment) fragment).mValueCallback2 = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ import com.google.gson.Gson;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.lxj.xpopup.enums.PopupPosition;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.activity.SudGameActivity;
|
||||
import com.yunbao.live.activity.SudGameActivity;
|
||||
import com.yunbao.common.adapter.RefreshAdapter;
|
||||
import com.yunbao.common.adapter.SudGameListAdapter;
|
||||
import com.yunbao.common.bean.CreateSudRoomModel;
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.yunbao.main.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
@@ -8,6 +10,7 @@ import android.widget.ImageView;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.main.R;
|
||||
|
||||
/**
|
||||
@@ -40,6 +43,13 @@ public class MainHomeViewHolder extends AbsMainHomeParentViewHolder {
|
||||
|
||||
ImgLoader.display(mContext, "https://downs.yaoulive.com/gif_trophy.gif", img_trophy);
|
||||
|
||||
/* img_trophy.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View view) {
|
||||
return true;
|
||||
}
|
||||
});*/
|
||||
|
||||
}
|
||||
|
||||
public void setCurPosition(int position) {
|
||||
@@ -107,7 +117,6 @@ public class MainHomeViewHolder extends AbsMainHomeParentViewHolder {
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
mViewHolders[mViewPager.getCurrentItem()].onResume();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Outline;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
@@ -34,7 +35,6 @@ import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.HtmlConfig;
|
||||
import com.yunbao.common.activity.WebViewActivity;
|
||||
import com.yunbao.common.bean.GoogleBean;
|
||||
import com.yunbao.common.bean.LevelBean;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.bean.UserItemBean;
|
||||
import com.yunbao.common.event.CompleteInformationEvent;
|
||||
@@ -55,6 +55,7 @@ import com.yunbao.live.activity.LiveRecordActivity;
|
||||
import com.yunbao.live.activity.RoomManageActivity;
|
||||
import com.yunbao.live.activity.WebViewActivityMedal;
|
||||
import com.yunbao.live.bean.SlideBean;
|
||||
import com.yunbao.live.utils.LiveTextRender;
|
||||
import com.yunbao.live.views.CustomMyViewHolder;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.activity.EditProfileActivity;
|
||||
@@ -251,10 +252,10 @@ public class MainMeViewHolder extends AbsMainViewHolder implements OnItemClickLi
|
||||
coin.setText(coins);
|
||||
}
|
||||
BigDecimal yuanbao = new BigDecimal(yuanbaos);
|
||||
String yuanbaoStr =String.valueOf(yuanbao.intValue());
|
||||
String yuanbaoStr = String.valueOf(yuanbao.intValue());
|
||||
if (yuanbaoStr.length() > 9) {
|
||||
star_coin.setText(yuanbaoStr.substring(0,yuanbaoStr.length() - 6) + "M");
|
||||
} else if (yuanbaoStr.length()>7) {
|
||||
star_coin.setText(yuanbaoStr.substring(0, yuanbaoStr.length() - 6) + "M");
|
||||
} else if (yuanbaoStr.length() > 7) {
|
||||
star_coin.setText(yuanbaoStr.substring(0, yuanbaoStr.length() - 3) + "K");
|
||||
} else {
|
||||
star_coin.setText(yuanbaos);
|
||||
@@ -326,7 +327,6 @@ public class MainMeViewHolder extends AbsMainViewHolder implements OnItemClickLi
|
||||
}
|
||||
signature.setText(singnature);
|
||||
CommonAppConfig appConfig = CommonAppConfig.getInstance();
|
||||
LevelBean anchorLevelBean = appConfig.getAnchorLevel(u.getLevelAnchor());
|
||||
|
||||
if (u.getDress().getAvatar_frame() != null) {
|
||||
if (u.getDress().getAvatar_frame().contains("svga")) {
|
||||
@@ -360,36 +360,44 @@ public class MainMeViewHolder extends AbsMainViewHolder implements OnItemClickLi
|
||||
if ("C".equals(u.getUsers_type())) {
|
||||
Constants.isAnchor = true;
|
||||
good_nub_ico.setImageResource(R.mipmap.usercard_good_nub);
|
||||
if (anchorLevelBean != null) {
|
||||
ImgLoader.display(mContext, CommonAppConfig.getInstance().HOST + anchorLevelBean.getThumb(), mLevel);
|
||||
ImgLoader.display(mContext, R.mipmap.icon_zhubolv, img_lv_pic);
|
||||
//主播等级
|
||||
tv_level.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
MobclickAgent.onEvent(mContext, "my_top_level", "个人中心最上面的等级");
|
||||
String url = CommonAppConfig.HOST + "/h5/Grade/index.html?" + "token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid() + "&for";
|
||||
ZhuangBanActivity.forward(mContext, url);
|
||||
}
|
||||
});
|
||||
tv_level.setText(anchorLevelBean.getLevel() + "");
|
||||
}
|
||||
|
||||
|
||||
ImgLoader.display(mContext, R.mipmap.icon_zhubolv, img_lv_pic);
|
||||
//主播等级
|
||||
tv_level.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
MobclickAgent.onEvent(mContext, "my_top_level", "个人中心最上面的等级");
|
||||
String url = CommonAppConfig.HOST + "/h5/Grade/index.html?" + "token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid() + "&for";
|
||||
ZhuangBanActivity.forward(mContext, url);
|
||||
}
|
||||
});
|
||||
tv_level.setText(u.getLevel() + "");
|
||||
|
||||
} else {
|
||||
Constants.isAnchor = false;
|
||||
LevelBean levelBean = appConfig.getLevel(u.getLevel());
|
||||
if (levelBean != null) {
|
||||
ImgLoader.display(mContext, levelBean.getThumb(), mLevel);
|
||||
//用户等级
|
||||
tv_level.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
MobclickAgent.onEvent(mContext, "my_top_level", "个人中心最上面的等级");
|
||||
String url = CommonAppConfig.HOST + "/h5/Grade/index.html?" + "token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid() + "&isZh=" + ((IMLoginManager.get(CommonAppContext.sInstance.getBaseContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0");
|
||||
ZhuangBanActivity.forward(mContext, url);
|
||||
}
|
||||
});
|
||||
tv_level.setText(levelBean.getLevel() + "");
|
||||
}
|
||||
new LiveTextRender().getLevelImage(mContext, u.getLevel(), new ImgLoader.DrawableCallback() {
|
||||
@Override
|
||||
public void onLoadSuccess(Drawable drawable) {
|
||||
ImgLoader.display2(mContext, drawable, mLevel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadFailed() {
|
||||
|
||||
}
|
||||
});
|
||||
//用户等级
|
||||
tv_level.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
MobclickAgent.onEvent(mContext, "my_top_level", "个人中心最上面的等级");
|
||||
String url = CommonAppConfig.HOST + "/h5/Grade/index.html?" + "token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid() + "&isZh=" + ((IMLoginManager.get(CommonAppContext.sInstance.getBaseContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0");
|
||||
ZhuangBanActivity.forward(mContext, url);
|
||||
}
|
||||
});
|
||||
tv_level.setText(u.getLevel() + "");
|
||||
|
||||
}
|
||||
//修改靓号图标 个人中心
|
||||
if (u.getGoodnum() != null && !u.getGoodnum().equals("")) {
|
||||
|
||||
@@ -3,8 +3,7 @@ package com.yunbao.main.views;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
@@ -14,6 +13,9 @@ import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.opensource.svgaplayer.SVGADrawable;
|
||||
import com.opensource.svgaplayer.SVGAImageView;
|
||||
import com.opensource.svgaplayer.SVGAParser;
|
||||
@@ -22,12 +24,13 @@ import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.activity.WebViewActivity;
|
||||
import com.yunbao.common.bean.GoogleBean;
|
||||
import com.yunbao.common.bean.LevelBean;
|
||||
import com.yunbao.common.bean.NewLevelModel;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.bean.UserItemBean;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.NewLevelManager;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.SVGAViewUtils;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
@@ -35,6 +38,7 @@ import com.yunbao.common.views.AbsMainViewHolder;
|
||||
import com.yunbao.live.activity.LiveRecordActivity;
|
||||
import com.yunbao.live.activity.RoomManageActivity;
|
||||
import com.yunbao.live.activity.WebViewActivityMedal;
|
||||
import com.yunbao.live.utils.LiveTextRender;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.activity.EditProfileActivity;
|
||||
import com.yunbao.main.activity.FansActivity;
|
||||
@@ -77,7 +81,7 @@ public class MainMeViewHolder1 extends AbsMainViewHolder implements OnItemClickL
|
||||
private View v_noble;
|
||||
// private LinearLayout btnUserNoble;
|
||||
private ImageView user_noble_ico, good_nub_ico;
|
||||
private TextView user_noble_text;
|
||||
private TextView user_noble_text, leave;
|
||||
private UserItemBean beanStetting = null, beanKefu = null;
|
||||
private boolean firstInto = true;
|
||||
|
||||
@@ -124,6 +128,7 @@ public class MainMeViewHolder1 extends AbsMainViewHolder implements OnItemClickL
|
||||
btnCopy = (TextView) findViewById(R.id.btn_copy);
|
||||
// btnUserNoble = (LinearLayout) findViewById(R.id.btn_user_noble);
|
||||
user_noble_text = (TextView) findViewById(R.id.user_noble_text);
|
||||
leave = (TextView) findViewById(R.id.leave);
|
||||
|
||||
img_kefu = (ImageView) findViewById(R.id.img_kefu);
|
||||
img_setting = (ImageView) findViewById(R.id.img_setting);
|
||||
@@ -148,16 +153,16 @@ public class MainMeViewHolder1 extends AbsMainViewHolder implements OnItemClickL
|
||||
mLevelAnchor.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
String url = CommonAppConfig.HOST + "/index.php?g=Appapi&m=Level&a=index" + "&token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid()+ "&isZh=" + (WordUtil.isNewZh() ? "1" : "0") + "&for";
|
||||
WebViewActivity.forward(mContext, url,false);
|
||||
String url = CommonAppConfig.HOST + "/index.php?g=Appapi&m=Level&a=index" + "&token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid() + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0") + "&for";
|
||||
WebViewActivity.forward(mContext, url, false);
|
||||
}
|
||||
});
|
||||
//用户等级
|
||||
mLevel.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
String url = CommonAppConfig.HOST + "/index.php?g=Appapi&m=Level&a=index" + "&token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid()+ "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
|
||||
WebViewActivity.forward(mContext, url,false);
|
||||
String url = CommonAppConfig.HOST + "/index.php?g=Appapi&m=Level&a=index" + "&token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid() + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0");
|
||||
WebViewActivity.forward(mContext, url, false);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -258,7 +263,7 @@ public class MainMeViewHolder1 extends AbsMainViewHolder implements OnItemClickL
|
||||
gold.setText(u.getCoin());
|
||||
signature.setText(u.getSignature());
|
||||
CommonAppConfig appConfig = CommonAppConfig.getInstance();
|
||||
LevelBean anchorLevelBean = appConfig.getAnchorLevel(u.getLevelAnchor());
|
||||
|
||||
|
||||
if (u.getDress().getAvatar_frame() != null) {
|
||||
if (u.getDress().getAvatar_frame().contains("svga")) {
|
||||
@@ -290,13 +295,30 @@ public class MainMeViewHolder1 extends AbsMainViewHolder implements OnItemClickL
|
||||
user_noble_ico.setImageResource(R.mipmap.df_nobe);
|
||||
}
|
||||
|
||||
if (anchorLevelBean != null) {
|
||||
ImgLoader.display(mContext, CommonAppConfig.getInstance().HOST + anchorLevelBean.getThumb(), mLevelAnchor);
|
||||
}
|
||||
LevelBean levelBean = appConfig.getLevel(u.getLevel());
|
||||
if (levelBean != null) {
|
||||
ImgLoader.display(mContext, levelBean.getThumb(), mLevel);
|
||||
List<NewLevelModel> models = new NewLevelManager(mContext).getNewAnchorLevelModels();
|
||||
int anchorLevel = 0;
|
||||
|
||||
|
||||
anchorLevel = u.getLevelAnchor();
|
||||
String imgUrl = "";
|
||||
for (NewLevelModel newLevelModel : models) {
|
||||
if (newLevelModel.getLeveMin() <= anchorLevel && anchorLevel <= newLevelModel.getLeveMax()) {
|
||||
imgUrl = newLevelModel.getThumb();
|
||||
}
|
||||
}
|
||||
leave.setText(String.valueOf(u.getLevelAnchor()));
|
||||
ImgLoader.display(mContext, imgUrl, mLevelAnchor);
|
||||
new LiveTextRender().getLevelImage(mContext, u.getLevel(), new ImgLoader.DrawableCallback() {
|
||||
@Override
|
||||
public void onLoadSuccess(Drawable drawable) {
|
||||
ImgLoader.display2(mContext, drawable, mLevel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadFailed() {
|
||||
|
||||
}
|
||||
});
|
||||
//修改靓号图标 个人中心
|
||||
if (u.getGoodnum() != null && !u.getGoodnum().equals("")) {
|
||||
good_nub_ico.setVisibility(View.VISIBLE);
|
||||
@@ -373,7 +395,7 @@ public class MainMeViewHolder1 extends AbsMainViewHolder implements OnItemClickL
|
||||
Log.i("tsa", url);
|
||||
RewardActivity.forward(mContext, url);
|
||||
} else {
|
||||
WebViewActivity.forward(mContext, url,false);
|
||||
WebViewActivity.forward(mContext, url, false);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -401,12 +423,12 @@ public class MainMeViewHolder1 extends AbsMainViewHolder implements OnItemClickL
|
||||
} else if (i == R.id.btn_gold) {
|
||||
mContext.startActivity(new Intent(mContext, MyWalletActivity.class).putExtra("p", 0));
|
||||
} else if (i == R.id.rt_kefu) {
|
||||
WebViewActivity.forward(mContext, beanKefu.getHref(),false);
|
||||
WebViewActivity.forward(mContext, beanKefu.getHref(), false);
|
||||
} else if (i == R.id.rt_setting) {
|
||||
forwardSetting();
|
||||
} else if (i == R.id.v_noble) {
|
||||
UserBean u = CommonAppConfig.getInstance().getUserBean();
|
||||
String url = CommonAppConfig.HOST + "/h5/Noble/index.html?nickname=" + u.getUserNiceName() + "&usernobId=" + u.getNoble_id() + "&token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid()+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
String url = CommonAppConfig.HOST + "/h5/Noble/index.html?nickname=" + u.getUserNiceName() + "&usernobId=" + u.getNoble_id() + "&token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid() + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
ZhuangBanActivity.forward(mContext, url, false);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.yunbao.main.views;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.text.Html;
|
||||
import android.text.Spanned;
|
||||
import android.text.TextUtils;
|
||||
@@ -13,8 +14,6 @@ import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.bean.LevelBean;
|
||||
import com.yunbao.common.bean.NewLevelModel;
|
||||
import com.yunbao.common.bean.SearchModel;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
@@ -23,6 +22,7 @@ import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.utils.WordsTypeUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.utils.LiveTextRender;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.event.JumpUserHomeEvent;
|
||||
|
||||
@@ -72,14 +72,22 @@ public class SearchResultsViewHolder extends RecyclerView.ViewHolder {
|
||||
ImgLoader.displayAvatar(itemView.getContext(), model.getAvatar(), avatar);
|
||||
Glide.with(itemView.getContext())
|
||||
.asGif()
|
||||
.load(WordUtil.isNewZh()?R.mipmap.icon_user_home_living:R.mipmap.icon_user_home_living_en).skipMemoryCache(false)
|
||||
.load(WordUtil.isNewZh() ? R.mipmap.icon_user_home_living : R.mipmap.icon_user_home_living_en).skipMemoryCache(false)
|
||||
.into(isLive);
|
||||
//用戶直接隱藏
|
||||
if (type == 3) {
|
||||
LevelBean levelBean = CommonAppConfig.getInstance().getLevel(Integer.parseInt(model.getLevel()));
|
||||
if (levelBean != null) {
|
||||
ImgLoader.display(itemView.getContext(), levelBean.getThumb(), contribute);
|
||||
}
|
||||
|
||||
new LiveTextRender().getLevelImage(itemView.getContext(), Integer.parseInt(model.getLevel()), new ImgLoader.DrawableCallback() {
|
||||
@Override
|
||||
public void onLoadSuccess(Drawable drawable) {
|
||||
ImgLoader.display2(itemView.getContext(), drawable, contribute);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadFailed() {
|
||||
|
||||
}
|
||||
});
|
||||
isLive.setVisibility(View.GONE);
|
||||
} else {
|
||||
List<NewLevelModel> models = new NewLevelManager(itemView.getContext()).getNewAnchorLevelModels();
|
||||
|
||||
@@ -4,9 +4,7 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.text.TextUtils;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -16,24 +14,28 @@ import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.adapter.ViewPagerAdapter;
|
||||
import com.yunbao.common.bean.LevelBean;
|
||||
import com.yunbao.common.bean.NewLevelModel;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.event.FollowEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.CommonHttpConsts;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.manager.NewLevelManager;
|
||||
import com.yunbao.common.utils.CommonIconUtil;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.activity.LiveContributeActivity;
|
||||
import com.yunbao.live.activity.LiveGuardListActivity;
|
||||
import com.yunbao.live.activity.SystemMessageActivity;
|
||||
@@ -42,6 +44,7 @@ import com.yunbao.live.bean.SearchUserBean;
|
||||
import com.yunbao.live.custom.MyTextView;
|
||||
import com.yunbao.live.dialog.LiveShareDialogFragment;
|
||||
import com.yunbao.live.presenter.UserHomeSharePresenter;
|
||||
import com.yunbao.live.utils.LiveTextRender;
|
||||
import com.yunbao.live.views.AbsLivePageViewHolder;
|
||||
import com.yunbao.live.views.AbsUserHomeViewHolder;
|
||||
import com.yunbao.live.views.LiveRecordViewHolder;
|
||||
@@ -87,7 +90,7 @@ public class UserHomeViewHolder extends AbsLivePageViewHolder implements AppBarL
|
||||
private AppBarLayout mAppBarLayout;
|
||||
private ImageView mAvatarBg;
|
||||
private ImageView mAvatar;
|
||||
private TextView mName;
|
||||
private TextView mName, leave;
|
||||
private ImageView mSex;
|
||||
private ImageView mLevelAnchor;
|
||||
private ImageView mLevel;
|
||||
@@ -158,6 +161,7 @@ public class UserHomeViewHolder extends AbsLivePageViewHolder implements AppBarL
|
||||
mAvatarBg = (ImageView) findViewById(R.id.bg_avatar);
|
||||
mAvatar = (ImageView) findViewById(R.id.avatar);
|
||||
mName = (TextView) findViewById(R.id.name);
|
||||
leave = (TextView) findViewById(R.id.leave);
|
||||
mSex = (ImageView) findViewById(R.id.sex);
|
||||
mLevelAnchor = (ImageView) findViewById(R.id.level_anchor);
|
||||
mLevel = (ImageView) findViewById(R.id.level);
|
||||
@@ -205,8 +209,8 @@ public class UserHomeViewHolder extends AbsLivePageViewHolder implements AppBarL
|
||||
}
|
||||
});
|
||||
|
||||
mVideoString =mContext.getString(R.string.video);
|
||||
mLiveString =mContext.getString(R.string.live);
|
||||
mVideoString = mContext.getString(R.string.video);
|
||||
mLiveString = mContext.getString(R.string.live);
|
||||
mIndicator = (MagicIndicator) findViewById(R.id.indicator);
|
||||
final String[] titles = new String[]{mVideoString, mLiveString};
|
||||
CommonNavigator commonNavigator = new CommonNavigator(mContext);
|
||||
@@ -354,15 +358,32 @@ public class UserHomeViewHolder extends AbsLivePageViewHolder implements AppBarL
|
||||
mTitleView.setText(toName);
|
||||
mSex.setImageResource(CommonIconUtil.getSexIcon(userBean.getSex()));
|
||||
CommonAppConfig appConfig = CommonAppConfig.getInstance();
|
||||
LevelBean levelAnchor = appConfig.getAnchorLevel(userBean.getLevelAnchor());
|
||||
ImgLoader.display(mContext, levelAnchor.getThumb(), mLevelAnchor);
|
||||
LevelBean level = appConfig.getLevel(userBean.getLevel());
|
||||
ImgLoader.display(mContext, level.getThumb(), mLevel);
|
||||
List<NewLevelModel> models = new NewLevelManager(mContext).getNewAnchorLevelModels();
|
||||
int anchorLevel = 0;
|
||||
anchorLevel = userBean.getLevelAnchor();
|
||||
String imgUrl = "";
|
||||
for (NewLevelModel newLevelModel : models) {
|
||||
if (newLevelModel.getLeveMin() <= anchorLevel && anchorLevel <= newLevelModel.getLeveMax()) {
|
||||
imgUrl = newLevelModel.getThumb();
|
||||
}
|
||||
}
|
||||
leave.setText(String.valueOf(anchorLevel));
|
||||
ImgLoader.display(mContext, imgUrl, mLevelAnchor);
|
||||
new LiveTextRender().getLevelImage(mContext, userBean.getLevel(), new ImgLoader.DrawableCallback() {
|
||||
@Override
|
||||
public void onLoadSuccess(Drawable drawable) {
|
||||
ImgLoader.display2(mContext, drawable, mLevel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadFailed() {
|
||||
|
||||
}
|
||||
});
|
||||
mID.setText(userBean.getLiangNameTip());
|
||||
String fansNum = StringUtil.toWan(userBean.getFans());
|
||||
mBtnFans.setText(fansNum + " " +mContext.getString(R.string.fans));
|
||||
mBtnFollow.setText(StringUtil.toWan(userBean.getFollows()) + " " +mContext.getString(R.string.follow));
|
||||
mBtnFans.setText(fansNum + " " + mContext.getString(R.string.fans));
|
||||
mBtnFollow.setText(StringUtil.toWan(userBean.getFollows()) + " " + mContext.getString(R.string.follow));
|
||||
mSign.setText(userBean.getSignature());
|
||||
mBtnFollow2.setText(obj.getIntValue("isattention") == 1 ? R.string.following : R.string.follow);
|
||||
mBtnBlack.setText(obj.getIntValue("isblack") == 1 ? R.string.black_ing : R.string.black);
|
||||
@@ -374,7 +395,7 @@ public class UserHomeViewHolder extends AbsLivePageViewHolder implements AppBarL
|
||||
mLiveCountTextView.setText(mLiveString + " " + obj.getString("livenums"));
|
||||
}
|
||||
showImpress(obj.getString("label"));
|
||||
mVotesName.setText(appConfig.getVotesName() +mContext.getString(R.string.live_user_home_con));
|
||||
mVotesName.setText(appConfig.getVotesName() + mContext.getString(R.string.live_user_home_con));
|
||||
mUserHomeSharePresenter.setToUid(mToUid).setToName(toName).setAvatarThumb(userBean.getAvatarThumb()).setFansNum(fansNum);
|
||||
showContribute(obj.getString("contribute"));
|
||||
showGuardList(obj.getString("guardlist"));
|
||||
@@ -396,7 +417,7 @@ public class UserHomeViewHolder extends AbsLivePageViewHolder implements AppBarL
|
||||
}
|
||||
if (!mSelf) {
|
||||
ImpressBean lastBean = new ImpressBean();
|
||||
lastBean.setName("+ " +mContext.getString(R.string.impress_add));
|
||||
lastBean.setName("+ " + mContext.getString(R.string.impress_add));
|
||||
lastBean.setColor("#ffdd00");
|
||||
list.add(lastBean);
|
||||
} else {
|
||||
|
||||
@@ -35,15 +35,21 @@ import com.yunbao.common.adapter.ViewPagerAdapter;
|
||||
import com.yunbao.common.bean.ConfigBean;
|
||||
import com.yunbao.common.bean.LevelBean;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.bean.NewLevelModel;
|
||||
import com.yunbao.common.event.FollowEvent;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
import com.yunbao.common.event.UpdateFieldEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.CommonHttpConsts;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.manager.NewLevelManager;
|
||||
import com.yunbao.common.utils.CommonIconUtil;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.SVGAViewUtils;
|
||||
@@ -52,11 +58,8 @@ import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.live.activity.LiveReportActivity;
|
||||
import com.yunbao.live.bean.SearchUserBean;
|
||||
import com.yunbao.live.dialog.LiveShareDialogFragment;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.live.presenter.UserHomeSharePresenter;
|
||||
import com.yunbao.live.utils.LiveTextRender;
|
||||
import com.yunbao.live.views.AbsLivePageViewHolder;
|
||||
import com.yunbao.live.views.AbsUserHomeViewHolder;
|
||||
import com.yunbao.live.views.LiveRecordViewHolder;
|
||||
@@ -112,7 +115,7 @@ public class UserHomeViewHolder2 extends AbsLivePageViewHolder implements LiveSh
|
||||
private ImageView mLevel;
|
||||
private TextView mID;
|
||||
private View mBtnLive;
|
||||
private TextView mBtnFans;
|
||||
private TextView mBtnFans , leave;;
|
||||
private TextView mBtnFollow;
|
||||
private ImageView mFollowImage;
|
||||
private int isblack;
|
||||
@@ -166,7 +169,7 @@ public class UserHomeViewHolder2 extends AbsLivePageViewHolder implements LiveSh
|
||||
}
|
||||
|
||||
|
||||
String s =mContext.getString(R.string.black);
|
||||
String s = mContext.getString(R.string.black);
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
@@ -266,6 +269,7 @@ public class UserHomeViewHolder2 extends AbsLivePageViewHolder implements LiveSh
|
||||
mID = (TextView) findViewById(R.id.id_val);
|
||||
good_nub_ico = (ImageView) findViewById(R.id.good_nub_ico);
|
||||
mBtnFans = (TextView) findViewById(R.id.btn_fans);
|
||||
leave = (TextView) findViewById(R.id.leave);
|
||||
mBtnFollow = (TextView) findViewById(R.id.btn_follow);
|
||||
gift_svga = (SVGAImageView) findViewById(com.yunbao.live.R.id.gift_svga);
|
||||
mAvatar = (ImageView) findViewById(R.id.avatar);
|
||||
@@ -316,8 +320,8 @@ public class UserHomeViewHolder2 extends AbsLivePageViewHolder implements LiveSh
|
||||
}
|
||||
});
|
||||
|
||||
mVideoString =mContext.getString(R.string.video);
|
||||
mLiveString =mContext.getString(R.string.honor);
|
||||
mVideoString = mContext.getString(R.string.video);
|
||||
mLiveString = mContext.getString(R.string.honor);
|
||||
mIndicator = (MagicIndicator) findViewById(R.id.indicator);
|
||||
final String[] titles = new String[]{mContext.getString(R.string.live_user_home_detail), mLiveString, mVideoString,};
|
||||
// final String[] titles = new String[]{mContext.getString(R.string.live_user_home_detail), mVideoString}; //mxj update 2019-9-19
|
||||
@@ -500,11 +504,30 @@ public class UserHomeViewHolder2 extends AbsLivePageViewHolder implements LiveSh
|
||||
mName.setText(toName);
|
||||
mSex.setImageResource(CommonIconUtil.getSexIcon(userBean.getSex()));
|
||||
CommonAppConfig appConfig = CommonAppConfig.getInstance();
|
||||
LevelBean levelAnchor = appConfig.getAnchorLevel(userBean.getLevelAnchor());
|
||||
Log.i("Tag", CommonAppConfig.getInstance().HOST + levelAnchor.getThumb());
|
||||
ImgLoader.display(mContext, CommonAppConfig.getInstance().HOST + levelAnchor.getThumb(), mLevelAnchor);
|
||||
LevelBean level = appConfig.getLevel(userBean.getLevel());
|
||||
ImgLoader.display(mContext, level.getThumb(), mLevel);
|
||||
|
||||
List<NewLevelModel> models = new NewLevelManager(mContext).getNewAnchorLevelModels();
|
||||
int anchorLevel = 0;
|
||||
|
||||
anchorLevel = userBean.getLevelAnchor();
|
||||
String imgUrl = "";
|
||||
for (NewLevelModel newLevelModel : models) {
|
||||
if (newLevelModel.getLeveMin() <= anchorLevel && anchorLevel <= newLevelModel.getLeveMax()) {
|
||||
imgUrl = newLevelModel.getThumb();
|
||||
}
|
||||
}
|
||||
leave.setText(String.valueOf(userBean.getLevelAnchor()));
|
||||
ImgLoader.display(mContext, imgUrl, mLevelAnchor);
|
||||
new LiveTextRender().getLevelImage(mContext, userBean.getLevel(), new ImgLoader.DrawableCallback() {
|
||||
@Override
|
||||
public void onLoadSuccess(Drawable drawable) {
|
||||
ImgLoader.display2(mContext, drawable, mLevel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadFailed() {
|
||||
|
||||
}
|
||||
});
|
||||
//修改靓号图标 个人中心子页面
|
||||
if (userBean.getGoodnum() != null && !userBean.getGoodnum().equals("")) {
|
||||
good_nub_ico.setVisibility(View.VISIBLE);
|
||||
@@ -515,8 +538,8 @@ public class UserHomeViewHolder2 extends AbsLivePageViewHolder implements LiveSh
|
||||
}
|
||||
// mID.setText(" "+userBean.getLiangNameTip());
|
||||
String fansNum = StringUtil.toWan(userBean.getFans());
|
||||
mBtnFans.setText(fansNum + " " +mContext.getString(R.string.fans));
|
||||
mBtnFollow.setText(StringUtil.toWan(userBean.getFollows()) + " " +mContext.getString(R.string.follow));
|
||||
mBtnFans.setText(fansNum + " " + mContext.getString(R.string.fans));
|
||||
mBtnFollow.setText(StringUtil.toWan(userBean.getFollows()) + " " + mContext.getString(R.string.follow));
|
||||
|
||||
if (obj.getIntValue("isattention") == 1) {
|
||||
if (mFollowImage != null) {
|
||||
@@ -774,7 +797,7 @@ public class UserHomeViewHolder2 extends AbsLivePageViewHolder implements LiveSh
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
|
||||
|
||||
if (mFromLiveRoom) {
|
||||
if(MicStatusManager.getInstance().isMic(liveUid)){
|
||||
if (MicStatusManager.getInstance().isMic(liveUid)) {
|
||||
MicStatusManager.getInstance().showDownMicDialog(mContext);
|
||||
return;
|
||||
}
|
||||
@@ -864,8 +887,8 @@ public class UserHomeViewHolder2 extends AbsLivePageViewHolder implements LiveSh
|
||||
mSex.setImageResource(CommonIconUtil.getSexIcon(userBean.getSex()));
|
||||
mID.setText(userBean.getLiangNameTip());
|
||||
String fansNum = StringUtil.toWan(userBean.getFans());
|
||||
mBtnFans.setText(fansNum + " " +mContext.getString(R.string.fans));
|
||||
mBtnFollow.setText(StringUtil.toWan(userBean.getFollows()) + " " +mContext.getString(R.string.follow));
|
||||
mBtnFans.setText(fansNum + " " + mContext.getString(R.string.fans));
|
||||
mBtnFollow.setText(StringUtil.toWan(userBean.getFollows()) + " " + mContext.getString(R.string.follow));
|
||||
if (mDetailViewHolder != null) {
|
||||
mDetailViewHolder.refreshData(userBean, obj);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:width="65dp" android:height="30dp">
|
||||
<shape android:shape="rectangle">
|
||||
<gradient android:type="linear" android:useLevel="true" android:startColor="#EF8311" android:endColor="#FFCE47" android:angle="90" />
|
||||
<corners android:topLeftRadius="15dp" android:topRightRadius="15dp" android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:width="65dp" android:height="30dp">
|
||||
<shape android:shape="rectangle">
|
||||
<gradient android:type="linear" android:useLevel="true" android:startColor="#B94FFF" android:endColor="#ffeba7ff" android:angle="90" />
|
||||
<corners android:topLeftRadius="15dp" android:topRightRadius="15dp" android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:width="65dp" android:height="30dp">
|
||||
<shape android:shape="rectangle">
|
||||
<gradient android:type="linear" android:useLevel="true" android:startColor="#D7D2FC" android:endColor="#C9D7FE" android:angle="90" />
|
||||
<corners android:topLeftRadius="15dp" android:topRightRadius="15dp" android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:width="65dp" android:height="30dp">
|
||||
<shape android:shape="rectangle">
|
||||
<gradient android:type="linear" android:useLevel="true" android:startColor="#9935FF" android:endColor="#ffeba7ff" android:angle="90" />
|
||||
<corners android:topLeftRadius="15dp" android:topRightRadius="15dp" android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:width="315dp" android:height="71dp">
|
||||
<shape android:shape="rectangle">
|
||||
<gradient android:type="linear" android:useLevel="true" android:startColor="#ff6378ff" android:endColor="#ff6e53ff" android:angle="180" />
|
||||
<corners android:topLeftRadius="6dp" android:topRightRadius="6dp" android:bottomLeftRadius="6dp" android:bottomRightRadius="6dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item >
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#FFF" />
|
||||
<corners android:radius="270dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
15
main/src/main/res/drawable/bg_text_battlepass_reward_lv.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:width="27dp" android:height="16dp">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#FFECA9" />
|
||||
<corners android:topLeftRadius="8dp" android:topRightRadius="8dp" android:bottomLeftRadius="8dp" android:bottomRightRadius="8dp" />
|
||||
</shape>
|
||||
</item>
|
||||
<item android:top="0.3dp" android:bottom="0.3dp" android:left="0.3dp" android:right="0.3dp">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#ff342524" />
|
||||
<corners android:topLeftRadius="10dp" android:topRightRadius="10dp" android:bottomLeftRadius="10dp" android:bottomRightRadius="10dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item >
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#FFFCEA" />
|
||||
<corners android:radius="270dp" />
|
||||
</shape>
|
||||
</item>
|
||||
<item android:left="1.9dp"
|
||||
android:right="1.9dp"
|
||||
android:top="1.9dp"
|
||||
android:bottom="1.9dp">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#FFD89F" />
|
||||
<corners android:radius="270dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
23
main/src/main/res/drawable/bg_zl_user_level_progres.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!--设置ProgressBar背景色-->
|
||||
<item android:id="@android:id/background">
|
||||
<shape>
|
||||
<!--设置ProgressBar进度条圆角半径-->
|
||||
<corners android:radius="3dp" />
|
||||
<solid android:color="#DFD5FC" />
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
<!--设置ProgressBar进度条颜色-->
|
||||
<item android:id="@android:id/progress">
|
||||
<scale android:scaleWidth="100%">
|
||||
<shape>
|
||||
<corners android:radius="3dp" />
|
||||
<gradient
|
||||
android:endColor="#fff"
|
||||
android:startColor="#fff" />
|
||||
</shape>
|
||||
</scale>
|
||||
</item>
|
||||
</layer-list>
|
||||
21
main/src/main/res/drawable/bg_zl_vp.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/background_order_dialog_out_layout">
|
||||
<shape android:shape="oval" >
|
||||
<corners android:radius="20dp" />
|
||||
<solid android:color="#CCBEF3" />
|
||||
</shape>
|
||||
</item>
|
||||
<item android:bottom="8dp" android:top="8dp" android:left="8dp" android:right="8dp">
|
||||
<shape android:shape="rectangle">
|
||||
<corners android:radius="25dp" />
|
||||
<solid android:color="#6781E6" />
|
||||
</shape>
|
||||
</item>
|
||||
<item android:bottom="15dp" android:top="15dp" android:left="15dp" android:right="15dp">
|
||||
<shape android:shape="rectangle">
|
||||
<corners android:radius="20dp" />
|
||||
<solid android:color="#fff" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
97
main/src/main/res/layout/activity_battlepass.xml
Normal file
@@ -0,0 +1,97 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<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:background="#140F1F"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView9"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/bg_zl"
|
||||
android:scaleType="fitStart"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginTop="30dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.56">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/btn_back"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/ic_zl_back"
|
||||
android:onClick="backClick"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/rule"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/ic_zl_rule"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_marginTop="8dp"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:gravity="center"
|
||||
android:layout_height="35dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_1"
|
||||
android:layout_width="100dp"
|
||||
android:layout_marginEnd="9.5dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/ic_zl_tab1" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_2"
|
||||
android:layout_marginEnd="9.5dp"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/ic_zl_tab2_unselect" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_3"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/ic_zl_tab3_unselect" />
|
||||
</LinearLayout>
|
||||
|
||||
<include
|
||||
layout="@layout/view_battlepass_user"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp" />
|
||||
|
||||
<androidx.viewpager2.widget.ViewPager2
|
||||
android:id="@+id/context_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@drawable/background_order_dialog" />
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -21,7 +21,6 @@
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:background="@color/color_b14066"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ProgressBar
|
||||
@@ -33,7 +32,7 @@
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/rootView"
|
||||
android:background="@drawable/backgroud_custom_drawer_popup"
|
||||
android:background="#FFF"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical" />
|
||||
|
||||
@@ -406,7 +406,7 @@
|
||||
android:orientation="vertical"
|
||||
android:visibility="visible">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
<com.yunbao.common.custom.CommonRefreshView
|
||||
android:id="@+id/rc_encourage"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
||||
25
main/src/main/res/layout/fragment_battlepass_exchange.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginTop="18dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:layout_marginBottom="22dp"
|
||||
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.0"
|
||||
app:spanCount="3"
|
||||
tools:listitem="@layout/item_battlepass_exchange" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
22
main/src/main/res/layout/fragment_battlepass_mission.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:layout_marginTop="18dp"
|
||||
android:layout_marginBottom="22dp"
|
||||
android:layout_marginStart="25dp"
|
||||
android:layout_marginEnd="25dp"
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||
tools:listitem="@layout/item_battlepass_mission_type_mission"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
46
main/src/main/res/layout/fragment_battlepass_reward.xml
Normal file
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginStart="45dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_1"
|
||||
android:layout_width="90dp"
|
||||
android:layout_height="40dp"
|
||||
android:src="@mipmap/ic_reward_tab_normal" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_2"
|
||||
android:layout_width="90dp"
|
||||
android:layout_height="40dp"
|
||||
android:src="@mipmap/ic_reward_tab_upgrade_unselect" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_3"
|
||||
android:layout_width="90dp"
|
||||
android:layout_height="40dp"
|
||||
android:src="@mipmap/ic_reward_tab_ultimate_unselect" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:layout_weight="1"
|
||||
tools:listitem="@layout/item_battlepass_reward_type_top" />
|
||||
</LinearLayout>
|
||||
117
main/src/main/res/layout/item_battlepass_exchange.xml
Normal file
@@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="100dp"
|
||||
android:gravity="center"
|
||||
android:layout_height="200dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:layout_marginTop="10dp">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/tab_1_layout"
|
||||
android:layout_width="73dp"
|
||||
android:layout_height="75dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:background="@mipmap/bg_zl_battlepass_reward_item"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@mipmap/ic_integral"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/mark_layout"
|
||||
android:layout_width="66dp"
|
||||
android:layout_height="23.5dp"
|
||||
android:gravity="center"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tab_1"
|
||||
android:background="@mipmap/bg_battlepass_reward_item_mark"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/mark_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:textColor="#FFF"
|
||||
android:textSize="9sp"
|
||||
android:gravity="center"
|
||||
tools:text="戰令5級解鎖\n123" />
|
||||
</LinearLayout>
|
||||
<ImageView
|
||||
android:id="@+id/indicator"
|
||||
android:layout_width="wrap_content"
|
||||
android:visibility="gone"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/ic_zl_battlpas_exchange_subscript"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginTop="8dp"
|
||||
tools:text="彩鑽之翼(92天)"
|
||||
android:gravity="center"
|
||||
android:layout_gravity="center"
|
||||
android:textColor="#0D21B2"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
android:maxLines="2"
|
||||
app:autoSizeMaxTextSize="14sp"
|
||||
app:autoSizeMinTextSize="5sp"
|
||||
app:autoSizeStepGranularity="1sp"
|
||||
app:autoSizeTextType="uniform"
|
||||
android:layout_marginStart="2dp"
|
||||
android:layout_marginEnd="2dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tab_1_layout" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="@string/battlepass_integral"
|
||||
android:textColor="#CE2BFF"
|
||||
android:textSize="13sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/title" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/submit"
|
||||
android:layout_width="65dp"
|
||||
android:layout_height="31dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:autoSizeTextType="uniform"
|
||||
android:textAllCaps="false"
|
||||
android:background="@mipmap/bg_zl_battlepass_exchange_btn_exchange"
|
||||
android:text="兌換\n(0/10)"
|
||||
android:textColor="#FFF"
|
||||
app:autoSizeMaxTextSize="13sp"
|
||||
app:autoSizeMinTextSize="5sp"
|
||||
app:autoSizeStepGranularity="1sp"
|
||||
app:autoSizeTextType="uniform"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/content" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:background="@drawable/bg_battlepass_mission_item"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_height="80dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="49dp"
|
||||
android:layout_height="49dp"
|
||||
android:layout_marginStart="13dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@mipmap/icon_live_record_play" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="每日簽到(0/1)\nnn123"
|
||||
android:textColor="#F2F9FF"
|
||||
android:textStyle="bold"
|
||||
app:autoSizeMaxTextSize="14sp"
|
||||
app:autoSizeMinTextSize="5sp"
|
||||
app:autoSizeStepGranularity="1sp"
|
||||
app:autoSizeTextType="uniform"
|
||||
android:maxLines="2"
|
||||
app:layout_constraintEnd_toStartOf="@+id/submit"
|
||||
app:layout_constraintStart_toEndOf="@+id/icon"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/content"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="2dp"
|
||||
android:text="獎勵100經驗值/次\n123"
|
||||
android:textColor="#F2F9FF"
|
||||
android:textSize="12sp"
|
||||
app:autoSizeMaxTextSize="14sp"
|
||||
app:autoSizeMinTextSize="5sp"
|
||||
app:autoSizeStepGranularity="1sp"
|
||||
app:autoSizeTextType="uniform"
|
||||
android:maxLines="2"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/submit"
|
||||
app:layout_constraintStart_toEndOf="@+id/icon"
|
||||
app:layout_constraintTop_toBottomOf="@+id/title" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/submit"
|
||||
android:layout_width="65dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginEnd="12dp"
|
||||
android:text="@string/battlepass_mission_submit_btn_unfinished"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="#FFFFFF"
|
||||
android:background="@drawable/bg_battlepass_mission_btn_unfinished"
|
||||
android:textSize="14sp"
|
||||
android:stateListAnimator="@null"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:text="@string/battlepass_mission_line_title_daily"
|
||||
android:textColor="#0D21B2"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
280
main/src/main/res/layout/item_battlepass_reward_type_top.xml
Normal file
@@ -0,0 +1,280 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="130dp">
|
||||
|
||||
<View
|
||||
android:id="@+id/line_bg"
|
||||
android:layout_width="6dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#8D8E9C"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="@+id/reward_lv"
|
||||
app:layout_constraintStart_toStartOf="@+id/reward_lv"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<View
|
||||
android:id="@+id/line"
|
||||
android:layout_width="2dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#FFAC5D"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="@+id/line_bg"
|
||||
app:layout_constraintStart_toStartOf="@+id/line_bg"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/reward_lv"
|
||||
android:layout_width="27dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="3dp"
|
||||
android:background="@drawable/bg_text_battlepass_reward_lv"
|
||||
android:text="v1"
|
||||
android:textColor="#FFECA9"
|
||||
android:textSize="11sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<View
|
||||
android:id="@+id/point"
|
||||
android:layout_width="7dp"
|
||||
android:layout_height="7dp"
|
||||
android:layout_marginBottom="70dp"
|
||||
android:background="@drawable/bg_text_battlepass_reward_point"
|
||||
app:layout_constraintEnd_toEndOf="@+id/reward_lv"
|
||||
app:layout_constraintStart_toStartOf="@+id/reward_lv"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintStart_toEndOf="@+id/reward_lv"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/tab_1_layout"
|
||||
android:layout_width="73dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="15dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_1_bg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/bg_zl_battlepass_reward_item"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_1"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:src="@mipmap/ic_integral"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tab_1_bg"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/tab_1_bg" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_1_unlock"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:src="@mipmap/bg_zl_battlepass_reward_item_unlock"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/tab_1_bg" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_1_item_unlock"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/ic_zl_battlepass_reward_item_unlock"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tab_1_bg"
|
||||
app:layout_constraintEnd_toEndOf="@id/tab_1_bg" />
|
||||
<ImageView
|
||||
android:id="@+id/tab_1_item_received"
|
||||
android:layout_width="49.5dp"
|
||||
android:layout_height="17dp"
|
||||
android:src="@mipmap/ic_zl_battlepass_reward_item_received"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tab_1_bg"
|
||||
app:layout_constraintEnd_toEndOf="@id/tab_1_bg" />
|
||||
<ImageView
|
||||
android:id="@+id/tab_1_subscript"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/ic_zl_battlpas_exchange_subscript"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tab_1_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="甜蜜氣球\n&積分30"
|
||||
android:textColor="#0D21B2"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tab_1_bg" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/tab_2_layout"
|
||||
android:layout_width="73dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="15dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_2_bg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/bg_zl_battlepass_reward_item"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_2"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:src="@mipmap/ic_integral"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tab_2_bg"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/tab_2_bg" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_2_unlock"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:background="@mipmap/bg_zl_battlepass_reward_item_unlock"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/tab_2_bg" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_2_item_unlock"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/ic_zl_battlepass_reward_item_unlock"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tab_2_bg"
|
||||
app:layout_constraintEnd_toEndOf="@id/tab_2_bg" />
|
||||
<ImageView
|
||||
android:id="@+id/tab_2_item_received"
|
||||
android:layout_width="49.5dp"
|
||||
android:layout_height="17dp"
|
||||
android:src="@mipmap/ic_zl_battlepass_reward_item_received"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tab_2_bg"
|
||||
app:layout_constraintEnd_toEndOf="@id/tab_2_bg" />
|
||||
<ImageView
|
||||
android:id="@+id/tab_2_subscript"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/ic_zl_battlpas_exchange_subscript2"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<TextView
|
||||
android:id="@+id/tab_2_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="甜蜜氣球\n&積分30"
|
||||
android:textColor="#0D21B2"
|
||||
android:textSize="12sp"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tab_2_bg" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/tab_3_layout"
|
||||
android:layout_width="73dp"
|
||||
android:layout_height="wrap_content">
|
||||
<ImageView
|
||||
android:id="@+id/tab_3_bg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/bg_zl_battlepass_reward_item"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<ImageView
|
||||
android:id="@+id/tab_3"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:src="@mipmap/ic_integral"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tab_3_bg"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/tab_3_bg" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_3_unlock"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:background="@mipmap/bg_zl_battlepass_reward_item_unlock"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tab_3_item_unlock"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/ic_zl_battlepass_reward_item_unlock"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tab_3_bg"
|
||||
app:layout_constraintEnd_toEndOf="@id/tab_3_bg" />
|
||||
<ImageView
|
||||
android:id="@+id/tab_3_item_received"
|
||||
android:layout_width="49.5dp"
|
||||
android:layout_height="17dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:src="@mipmap/ic_zl_battlepass_reward_item_received"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tab_3_bg"
|
||||
app:layout_constraintEnd_toEndOf="@id/tab_3_bg" />
|
||||
<ImageView
|
||||
android:id="@+id/tab_3_subscript"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/ic_zl_battlpas_exchange_subscript"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<TextView
|
||||
android:id="@+id/tab_3_title"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="甜蜜氣球\n&積分30"
|
||||
android:textColor="#0D21B2"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tab_3_bg" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,12 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<RelativeLayout 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="60dp"
|
||||
android:paddingLeft="15dp"
|
||||
android:paddingRight="15dp"
|
||||
>
|
||||
android:paddingRight="15dp">
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/avatar"
|
||||
@@ -15,8 +13,7 @@
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginRight="15dp"
|
||||
android:scaleType="centerCrop"
|
||||
app:riv_oval="true"
|
||||
/>
|
||||
app:riv_oval="true" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/name"
|
||||
@@ -28,8 +25,7 @@
|
||||
android:maxWidth="130dp"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/textColor"
|
||||
android:textSize="16sp"
|
||||
/>
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/sign"
|
||||
@@ -41,17 +37,16 @@
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/gray3"
|
||||
android:textSize="14sp"
|
||||
/>
|
||||
android:textSize="14sp" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toRightOf="@id/name"
|
||||
android:layout_alignTop="@id/name"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginTop="3dp"
|
||||
android:layout_toRightOf="@id/name"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
@@ -59,18 +54,34 @@
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="15dp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/level_anchor"
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_marginLeft="5dp"/>
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_height="15dp">
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/level_anchor"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="15dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/leave"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="13dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="8sp"
|
||||
android:textStyle="bold" />
|
||||
</FrameLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/level"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_marginLeft="5dp"
|
||||
/>
|
||||
android:layout_marginLeft="5dp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -86,23 +97,21 @@
|
||||
android:gravity="center"
|
||||
android:textColor="@color/fg_btn_follow"
|
||||
android:textSize="11sp"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
android:visibility="gone" />
|
||||
|
||||
|
||||
<pl.droidsonroids.gif.GifImageView
|
||||
android:id="@+id/btn_live"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:visibility="gone"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:src="@mipmap/icon_user_home_living"/>
|
||||
android:adjustViewBounds="true"
|
||||
android:src="@mipmap/icon_user_home_living"
|
||||
android:visibility="gone" />
|
||||
|
||||
<View
|
||||
style="@style/line2"
|
||||
android:layout_alignParentBottom="true"
|
||||
/>
|
||||
android:layout_alignParentBottom="true" />
|
||||
|
||||
</RelativeLayout>
|
||||
143
main/src/main/res/layout/view_battlepass_user.xml
Normal file
@@ -0,0 +1,143 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="210dp">
|
||||
<LinearLayout
|
||||
android:orientation="vertical"
|
||||
android:background="@mipmap/bg_zl_user_top"
|
||||
android:layout_marginStart="2dp"
|
||||
android:layout_marginEnd="2dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<TextView
|
||||
android:id="@+id/session"
|
||||
android:text="@string/battlepass_user_session"
|
||||
android:textColor="#40227D"
|
||||
android:textSize="20sp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="17dp"
|
||||
android:layout_gravity="end"
|
||||
android:textStyle="bold"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView10"
|
||||
android:layout_width="110dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_marginStart="15.5dp"
|
||||
android:src="@mipmap/zl_user_pass" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time"
|
||||
android:layout_marginTop="11.5dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:text="@string/battlepass_user_time"
|
||||
android:textColor="#442787"
|
||||
android:textSize="14sp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
<TextView
|
||||
android:id="@+id/userLevel"
|
||||
android:layout_marginTop="11.5dp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginStart="15dp"
|
||||
android:text="@string/battlepass_user_level"
|
||||
android:textColor="#442787"
|
||||
android:textSize="14sp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<TextView
|
||||
android:id="@+id/level"
|
||||
android:textStyle="bold"
|
||||
android:text="Lv.1"
|
||||
android:textColor="#442787"
|
||||
android:textSize="14sp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_height="wrap_content"/>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="14dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_gravity="center"
|
||||
>
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/level_progress"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="7dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="1dp"
|
||||
android:layout_weight="1"
|
||||
android:progressDrawable="@drawable/bg_zl_user_level_progres"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<TextView
|
||||
android:id="@+id/exp_text"
|
||||
tools:text="100/2500"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:textColor="#41048F"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_marginTop="-60dp"
|
||||
android:orientation="horizontal"
|
||||
android:background="@mipmap/bg_zl_user_bottom"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<LinearLayout
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content">
|
||||
<TextView
|
||||
android:id="@+id/integral"
|
||||
android:textStyle="bold"
|
||||
android:text="@string/battlepass_user_my_integral"
|
||||
android:textColor="#442787"
|
||||
android:textSize="14sp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
<ImageView
|
||||
android:src="@mipmap/ic_integral"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
</LinearLayout>
|
||||
|
||||
<Button
|
||||
android:id="@+id/more_integral"
|
||||
android:layout_width="94dp"
|
||||
android:layout_height="31dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:textAllCaps="false"
|
||||
android:background="@mipmap/bg_zl_user_button"
|
||||
android:text="@string/battlepass_user_more_integral"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
30
main/src/main/res/layout/view_float_war_order.xml
Normal file
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="140dp"
|
||||
android:layout_height="41dp"
|
||||
android:background="@drawable/bg_war_order"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginLeft="15dp"
|
||||
android:src="@mipmap/icon_war_order" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/main_suspension_war_order"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="15dp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -179,6 +179,17 @@
|
||||
android:layout_above="@id/rt_main_tab"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_marginRight="12dp"
|
||||
android:visibility="gone"
|
||||
android:layout_marginBottom="10dp" />
|
||||
|
||||
<include
|
||||
android:id="@+id/war_order"
|
||||
layout="@layout/view_float_war_order"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_above="@id/rt_main_tab"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_marginRight="8dp"
|
||||
android:layout_marginBottom="10dp" />
|
||||
|
||||
<LinearLayout
|
||||
|
||||
@@ -1,28 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<RelativeLayout 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:background="@color/white"
|
||||
>
|
||||
android:background="@color/white">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/bottom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="46dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
>
|
||||
android:layout_alignParentBottom="true">
|
||||
|
||||
<View
|
||||
style="@style/line2"
|
||||
/>
|
||||
<View style="@style/line2" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="horizontal"
|
||||
>
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btn_follow_2"
|
||||
@@ -33,16 +27,14 @@
|
||||
android:text="@string/follow"
|
||||
android:textColor="@color/textColor2"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold"
|
||||
/>
|
||||
android:textStyle="bold" />
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@color/gray2"
|
||||
/>
|
||||
android:layout_marginBottom="10dp"
|
||||
android:background="@color/gray2" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btn_pri_msg"
|
||||
@@ -53,16 +45,14 @@
|
||||
android:text="@string/pri_msg"
|
||||
android:textColor="@color/textColor2"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold"
|
||||
/>
|
||||
android:textStyle="bold" />
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@color/gray2"
|
||||
/>
|
||||
android:layout_marginBottom="10dp"
|
||||
android:background="@color/gray2" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btn_black"
|
||||
@@ -73,8 +63,7 @@
|
||||
android:text="@string/black"
|
||||
android:textColor="@color/textColor2"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold"
|
||||
/>
|
||||
android:textStyle="bold" />
|
||||
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
@@ -82,8 +71,7 @@
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@id/bottom"
|
||||
>
|
||||
android:layout_above="@id/bottom">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/appBarLayout"
|
||||
@@ -92,45 +80,39 @@
|
||||
android:background="@color/transparent"
|
||||
android:fadingEdge="none"
|
||||
app:elevation="0dp"
|
||||
app:layout_behavior="com.yunbao.common.custom.FixAppBarLayoutBehavior"
|
||||
>
|
||||
app:layout_behavior="com.yunbao.common.custom.FixAppBarLayoutBehavior">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="65dp"
|
||||
android:orientation="vertical"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed"
|
||||
>
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="220dp"
|
||||
>
|
||||
android:layout_height="220dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/bg_avatar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="centerCrop"
|
||||
/>
|
||||
android:scaleType="centerCrop" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#b3000000"
|
||||
/>
|
||||
android:background="#b3000000" />
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/avatar"
|
||||
android:layout_width="70dp"
|
||||
android:layout_height="70dp"
|
||||
android:layout_marginLeft="15dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:layout_marginTop="70dp"
|
||||
android:layout_marginRight="20dp"
|
||||
android:scaleType="centerCrop"
|
||||
app:riv_oval="true"
|
||||
/>
|
||||
app:riv_oval="true" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/name"
|
||||
@@ -140,35 +122,48 @@
|
||||
android:layout_toRightOf="@id/avatar"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold"
|
||||
/>
|
||||
android:textStyle="bold" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/sex"
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_below="@id/name"
|
||||
android:layout_marginRight="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_toRightOf="@id/avatar"
|
||||
/>
|
||||
android:layout_marginRight="5dp"
|
||||
android:layout_toRightOf="@id/avatar" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/level_anchor"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="15dp"
|
||||
<FrameLayout
|
||||
android:layout_width="55dp"
|
||||
android:layout_height="19dp"
|
||||
android:layout_alignTop="@id/sex"
|
||||
android:layout_marginRight="5dp"
|
||||
android:layout_toRightOf="@id/sex"
|
||||
/>
|
||||
android:layout_toRightOf="@id/sex">
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/level_anchor"
|
||||
android:layout_width="55dp"
|
||||
android:layout_height="19dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/leave"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="28dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="10sp"
|
||||
android:textStyle="bold" />
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/level"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_alignTop="@id/sex"
|
||||
android:layout_toRightOf="@id/level_anchor"
|
||||
/>
|
||||
android:layout_toRightOf="@id/level_anchor" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/id_val"
|
||||
@@ -178,8 +173,7 @@
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_toRightOf="@id/avatar"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp"
|
||||
/>
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btn_fans"
|
||||
@@ -189,21 +183,19 @@
|
||||
android:layout_marginLeft="15dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp"
|
||||
/>
|
||||
android:textSize="14sp" />
|
||||
|
||||
<View
|
||||
android:id="@+id/line"
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="12dp"
|
||||
android:layout_alignTop="@id/btn_fans"
|
||||
android:layout_below="@id/avatar"
|
||||
android:layout_alignTop="@id/btn_fans"
|
||||
android:layout_marginLeft="15dp"
|
||||
android:layout_marginRight="15dp"
|
||||
android:layout_marginTop="3dp"
|
||||
android:layout_marginRight="15dp"
|
||||
android:layout_toRightOf="@id/btn_fans"
|
||||
android:background="@color/white"
|
||||
/>
|
||||
android:background="@color/white" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btn_follow"
|
||||
@@ -212,8 +204,7 @@
|
||||
android:layout_alignTop="@id/btn_fans"
|
||||
android:layout_toRightOf="@id/line"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp"
|
||||
/>
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/sign"
|
||||
@@ -221,38 +212,34 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/btn_fans"
|
||||
android:layout_marginLeft="15dp"
|
||||
android:layout_marginRight="15dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_marginRight="15dp"
|
||||
android:singleLine="true"
|
||||
android:textColor="#fff"
|
||||
android:textSize="14sp"
|
||||
/>
|
||||
android:textSize="14sp" />
|
||||
</RelativeLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_marginLeft="15dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:text="@string/impress"
|
||||
android:textColor="@color/textColor2"
|
||||
android:textSize="15dp"
|
||||
android:textStyle="bold"
|
||||
/>
|
||||
android:textStyle="bold" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="34dp"
|
||||
android:layout_marginLeft="15dp"
|
||||
>
|
||||
android:layout_marginLeft="15dp">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/impress_group"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="horizontal"
|
||||
/>
|
||||
android:orientation="horizontal" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/no_impress_tip"
|
||||
@@ -262,16 +249,14 @@
|
||||
android:text="@string/impress_tip_3"
|
||||
android:textColor="@color/gray3"
|
||||
android:textSize="14sp"
|
||||
android:visibility="invisible"
|
||||
/>
|
||||
android:visibility="invisible" />
|
||||
</FrameLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="3dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:background="@color/gray2"
|
||||
/>
|
||||
android:background="@color/gray2" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/con_group_wrap"
|
||||
@@ -280,14 +265,12 @@
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingLeft="15dp"
|
||||
android:paddingRight="15dp"
|
||||
>
|
||||
android:paddingRight="15dp">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:src="@mipmap/icon_live_user_home_1"
|
||||
/>
|
||||
android:src="@mipmap/icon_live_user_home_1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/votes_name"
|
||||
@@ -295,8 +278,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold"
|
||||
/>
|
||||
android:textStyle="bold" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
@@ -307,21 +289,17 @@
|
||||
android:layout_marginRight="10dp"
|
||||
android:layout_weight="1"
|
||||
android:gravity="right"
|
||||
android:orientation="horizontal"
|
||||
/>
|
||||
android:orientation="horizontal" />
|
||||
|
||||
|
||||
<ImageView
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="18dp"
|
||||
android:src="@mipmap/icon_arrow_right"
|
||||
/>
|
||||
android:src="@mipmap/icon_arrow_right" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
style="@style/line2"
|
||||
/>
|
||||
<View style="@style/line2" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/guard_group_wrap"
|
||||
@@ -330,14 +308,12 @@
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingLeft="15dp"
|
||||
android:paddingRight="15dp"
|
||||
>
|
||||
android:paddingRight="15dp">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:src="@mipmap/icon_live_user_home_2"
|
||||
/>
|
||||
android:src="@mipmap/icon_live_user_home_2" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
@@ -345,8 +321,7 @@
|
||||
android:layout_marginLeft="8dp"
|
||||
android:text="@string/guard_list"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold"
|
||||
/>
|
||||
android:textStyle="bold" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/guard_group"
|
||||
@@ -356,14 +331,12 @@
|
||||
android:layout_marginRight="10dp"
|
||||
android:layout_weight="1"
|
||||
android:gravity="right"
|
||||
android:orientation="horizontal"
|
||||
/>
|
||||
android:orientation="horizontal" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="18dp"
|
||||
android:src="@mipmap/icon_arrow_right"
|
||||
/>
|
||||
android:src="@mipmap/icon_arrow_right" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -372,14 +345,12 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
>
|
||||
android:orientation="vertical">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="5dp"
|
||||
android:background="@color/gray2"
|
||||
/>
|
||||
android:background="@color/gray2" />
|
||||
|
||||
|
||||
<net.lucode.hackware.magicindicator.MagicIndicator
|
||||
@@ -387,13 +358,10 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="33dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
/>
|
||||
android:layout_marginBottom="5dp" />
|
||||
|
||||
<View
|
||||
style="@style/line2"
|
||||
/>
|
||||
<View style="@style/line2" />
|
||||
|
||||
</LinearLayout>
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
@@ -403,8 +371,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:overScrollMode="never"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||
/>
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
@@ -412,8 +379,7 @@
|
||||
android:id="@+id/top"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="65dp"
|
||||
android:clickable="true"
|
||||
>
|
||||
android:clickable="true">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/titleView"
|
||||
@@ -425,8 +391,7 @@
|
||||
android:paddingTop="30dp"
|
||||
android:textColor="@color/textColor"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
/>
|
||||
android:textStyle="bold" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/btn_back"
|
||||
@@ -436,20 +401,18 @@
|
||||
android:layout_marginBottom="3dp"
|
||||
android:padding="9dp"
|
||||
android:src="@mipmap/icon_back"
|
||||
android:tint="@color/white"
|
||||
/>
|
||||
android:tint="@color/white" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/btn_share"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginBottom="3dp"
|
||||
android:padding="8dp"
|
||||
android:src="@mipmap/icon_user_home_share"
|
||||
android:tint="@color/white"
|
||||
/>
|
||||
android:tint="@color/white" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -219,10 +219,27 @@
|
||||
android:gravity="bottom"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/level_anchor"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="15dp" />
|
||||
<FrameLayout
|
||||
android:layout_width="55dp"
|
||||
android:layout_height="19dp">
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/level_anchor"
|
||||
android:layout_width="55dp"
|
||||
android:layout_height="19dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/leave"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="28dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="10sp"
|
||||
android:textStyle="bold" />
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/level"
|
||||
|
||||
29
main/src/main/res/layout/view_main_community.xml
Normal file
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:paddingTop="36dp"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<net.lucode.hackware.magicindicator.MagicIndicator
|
||||
android:id="@+id/indicator"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="45dp"
|
||||
android:overScrollMode="never"
|
||||
android:layout_gravity="center"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
</net.lucode.hackware.magicindicator.MagicIndicator>
|
||||
|
||||
<androidx.viewpager2.widget.ViewPager2
|
||||
android:id="@+id/community_viewpager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/indicator" />
|
||||
</LinearLayout>
|
||||
16
main/src/main/res/layout/view_main_community_video.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<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">
|
||||
|
||||
<WebView
|
||||
android:id="@+id/webView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginBottom="68dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,8 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingTop="36dp">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/rootView"
|
||||
@@ -18,11 +17,11 @@
|
||||
android:layout_height="3dp"
|
||||
android:progressDrawable="@drawable/bg_horizontal_progressbar" />
|
||||
|
||||
<!-- <Button-->
|
||||
<!-- android:id="@+id/native_callback"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
|
||||
<!-- android:text="nativeCallback" />-->
|
||||
<Button
|
||||
android:id="@+id/native_callback"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
android:text="nativeCallback" />
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -126,12 +126,30 @@
|
||||
android:layout_height="15dp"
|
||||
android:src="@mipmap/icon_userlv" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/level_anchor"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="15dp"
|
||||
<FrameLayout
|
||||
android:id="@+id/level_anchor_la"
|
||||
android:layout_width="55dp"
|
||||
android:layout_height="19dp"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:visibility="gone" />
|
||||
android:visibility="gone">
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/level_anchor"
|
||||
android:layout_width="55dp"
|
||||
android:layout_height="19dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/leave"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="28dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="10sp"
|
||||
android:textStyle="bold" />
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/level"
|
||||
|
||||
BIN
main/src/main/res/mipmap-b+en+us/ic_reward_tab_normal.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
main/src/main/res/mipmap-b+en+us/ic_reward_tab_ultimate.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 13 KiB |
BIN
main/src/main/res/mipmap-b+en+us/ic_reward_tab_upgrade.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
BIN
main/src/main/res/mipmap-b+en+us/ic_zl_tab1.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
main/src/main/res/mipmap-b+en+us/ic_zl_tab1_unselect.png
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
BIN
main/src/main/res/mipmap-b+en+us/ic_zl_tab2.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
main/src/main/res/mipmap-b+en+us/ic_zl_tab2_unselect.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
main/src/main/res/mipmap-b+en+us/ic_zl_tab3.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
main/src/main/res/mipmap-b+en+us/ic_zl_tab3_unselect.png
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
BIN
main/src/main/res/mipmap-b+en+us/zl_user_pass.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
main/src/main/res/mipmap-mdpi/icon_war_order.png
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
|
After Width: | Height: | Size: 719 B |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 49 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/bg_zl_battlepass_reward_item.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/bg_zl_user_bottom.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/bg_zl_user_button.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/bg_zl_user_top.png
Normal file
|
After Width: | Height: | Size: 330 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/ic_reward_tab_normal.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/ic_reward_tab_ultimate.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 12 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/ic_reward_tab_upgrade.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 15 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/ic_zl_back.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/ic_zl_rule.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/ic_zl_tab1.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/ic_zl_tab1_unselect.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/ic_zl_tab2.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/ic_zl_tab2_unselect.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/ic_zl_tab3.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/ic_zl_tab3_unselect.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
main/src/main/res/mipmap-xxhdpi/zl_user_pass.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
main/src/main/res/mipmap-xxxhdpi/bg_zl.png
Normal file
|
After Width: | Height: | Size: 440 KiB |