家族和公会分开
(cherry picked from commit 8ded103b68e24eb39a26f53e770c41ff627b200d)
This commit is contained in:
@@ -940,6 +940,9 @@
|
||||
<activity
|
||||
android:name=".module_hall.hall.activity.ModuleHallActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".module_hall.hall.activity.ModuleClanActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".module_hall.hall.activity.IncomeStatisticsActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
|
@@ -451,7 +451,7 @@ public class HomePartyPresenter extends BaseMvpPresenter<IHomePartyView> {
|
||||
} else {
|
||||
getMvpView().onSendMsgSuccess();
|
||||
IMNetEaseManager.get().addMessagesImmediately(chatRoomMessage);
|
||||
Logger.i("发送房间信息成功:" + chatRoomMessage);
|
||||
Logger.i("发送房间信息成功:" + chatRoomMessage.getUuid());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@@ -17,6 +17,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
|
||||
import com.yizhuan.erban.module_hall.hall.activity.ModuleClanActivity;
|
||||
import com.yizhuan.erban.ui.widget.rollviewpager.hintview.TextHintView;
|
||||
import com.netease.nim.uikit.impl.cache.NimUserInfoCache;
|
||||
import com.netease.nim.uikit.support.glide.GlideApp;
|
||||
@@ -331,6 +332,10 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
|
||||
mBinding.llHall.setLayoutParams(layoutParams);
|
||||
mBinding.llHall.setBackgroundResource(R.drawable.bg_corner_shadow_12);
|
||||
}
|
||||
if (showApply) {
|
||||
mBinding.tvApplyHall.setVisibility(View.VISIBLE);
|
||||
mBinding.tvApplyHall.setOnClickListener(v -> applyJoinHall(hallInfo.getHallId()));
|
||||
}
|
||||
} else {
|
||||
mBinding.llHall.setVisibility(View.GONE);
|
||||
}
|
||||
@@ -354,21 +359,17 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
|
||||
.load(clanInfo.getLevelIcon())
|
||||
.placeholder(R.drawable.default_cover)
|
||||
.into(mBinding.ivClanLevel);
|
||||
if (showApply) {
|
||||
mBinding.tvApplyHall.setVisibility(View.VISIBLE);
|
||||
mBinding.tvApplyHall.setOnClickListener(v -> applyJoinHall(hallInfo.getHallId()));
|
||||
}
|
||||
} else {
|
||||
mBinding.llClan.setVisibility(View.GONE);
|
||||
}
|
||||
mBinding.llModuleHall.setOnClickListener(v -> {
|
||||
//如果是同一个公会的,则认为是主态
|
||||
if (hallInfo != null && hallInfo.getHallId() != 0 && hallInfo.getHallId() == HallDataManager.get().getHallId()) {
|
||||
ModuleHallActivity.start(context);
|
||||
} else {
|
||||
ModuleHallActivity.start(context, userId);
|
||||
mBinding.llHall.setOnClickListener(v -> {
|
||||
if (hallInfo != null && hallInfo.getHallId() != 0) {
|
||||
ModuleHallActivity.start(context, hallInfo.getHallId(),hallInfo.getOwnerUid(),userId);
|
||||
}
|
||||
});
|
||||
mBinding.llClan.setOnClickListener(v -> {
|
||||
ModuleClanActivity.start(context, userId);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
@@ -364,8 +364,7 @@ public class ImageLoadUtils {
|
||||
GlideApp.with(context.getApplicationContext()).load(url)
|
||||
.dontAnimate()
|
||||
.placeholder(defaultRes)
|
||||
.transforms(new CenterCrop(),
|
||||
new RoundedCorners(cornerRadius))
|
||||
.transform(new CenterCrop(), new RoundedCorners(cornerRadius))
|
||||
.error(defaultRes)
|
||||
.into(imageView);
|
||||
}
|
||||
|
BIN
app/src/main/res/drawable-xhdpi/ic_me_clan.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_me_clan.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_me_hall.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_me_hall.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1,558 @@
|
||||
package com.yizhuan.erban.module_hall.hall.activity;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.text.SpannableString;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.widget.NestedScrollView;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
|
||||
import com.netease.nim.uikit.StatusBarUtil;
|
||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
|
||||
import com.netease.nim.uikit.support.glide.GlideApp;
|
||||
import com.orhanobut.logger.Logger;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.UIHelper;
|
||||
import com.yizhuan.erban.base.BaseMvpActivity;
|
||||
import com.yizhuan.erban.common.widget.dialog.DialogManager;
|
||||
import com.yizhuan.erban.friend.action.AbstractSelectFriendAction;
|
||||
import com.yizhuan.erban.module_hall.HallDataManager;
|
||||
import com.yizhuan.erban.module_hall.hall.adapter.GroupMemberListAdapter;
|
||||
import com.yizhuan.erban.module_hall.hall.adapter.HallListAdapter;
|
||||
import com.yizhuan.erban.module_hall.hall.presenter.ModuleHallPresenter;
|
||||
import com.yizhuan.erban.module_hall.hall.view.IModuleHallView;
|
||||
import com.yizhuan.erban.module_hall.hall.view.dialog.HallMenuDialog;
|
||||
import com.yizhuan.erban.ui.user.UserInfoActivity;
|
||||
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
|
||||
import com.yizhuan.erban.ui.utils.RVDelegate;
|
||||
import com.yizhuan.erban.ui.widget.ButtonItem;
|
||||
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||
import com.yizhuan.xchat_android_core.module_hall.hall.HallModel;
|
||||
import com.yizhuan.xchat_android_core.module_hall.hall.bean.AuthInfo;
|
||||
import com.yizhuan.xchat_android_core.module_hall.hall.bean.ClanInfo;
|
||||
import com.yizhuan.xchat_android_core.module_hall.hall.bean.HallInfo;
|
||||
import com.yizhuan.xchat_android_core.module_hall.hall.bean.MemberInfo;
|
||||
import com.yizhuan.xchat_android_core.module_hall.hall.bean.OptionInfo;
|
||||
import com.yizhuan.xchat_android_core.module_hall.hall.bean.RoleType;
|
||||
import com.yizhuan.xchat_android_core.statistic.StatisticManager;
|
||||
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
|
||||
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
|
||||
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
|
||||
import com.yizhuan.xchat_android_library.utils.ListUtils;
|
||||
import com.yizhuan.xchat_android_library.utils.ScreenUtils;
|
||||
import com.yizhuan.xchat_android_library.utils.config.BasicConfig;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
|
||||
|
||||
/**
|
||||
* 模厅界面
|
||||
*/
|
||||
@CreatePresenter(ModuleHallPresenter.class)
|
||||
public class ModuleClanActivity extends BaseMvpActivity<IModuleHallView, ModuleHallPresenter>
|
||||
implements IModuleHallView {
|
||||
|
||||
@BindView(R.id.rv_hall)
|
||||
RecyclerView rvHall;
|
||||
@BindView(R.id.ll_hall_list)
|
||||
View llHallList;
|
||||
@BindView(R.id.tv_clan_member_count)
|
||||
TextView tvClanMemberCount;
|
||||
@BindView(R.id.srl_group)
|
||||
SwipeRefreshLayout mSrlGroup;
|
||||
@BindView(R.id.recycler_view)
|
||||
RecyclerView recyclerView;
|
||||
@BindView(R.id.tv_count)
|
||||
TextView tvCount;
|
||||
@BindView(R.id.iv_hall_member_more)
|
||||
ImageView ivHallMemberMore;
|
||||
@BindView(R.id.iv_hall_member_search)
|
||||
ImageView ivHallMemberSearch;
|
||||
@BindView(R.id.tv_title)
|
||||
TextView tvTitle;
|
||||
@BindView(R.id.iv_setting)
|
||||
ImageView ivSetting;
|
||||
@BindView(R.id.cl_clan)
|
||||
View clClan;
|
||||
@BindView(R.id.tv_clan_id)
|
||||
TextView tvClanId;
|
||||
@BindView(R.id.tv_clan_owner_name)
|
||||
TextView tvClanOwnerName;
|
||||
@BindView(R.id.iv_clan_avatar)
|
||||
ImageView ivClanAvatar;
|
||||
@BindView(R.id.iv_avatar_bg)
|
||||
ImageView ivAvatarBg;
|
||||
@BindView(R.id.iv_clan_level)
|
||||
ImageView ivClanLevel;
|
||||
@BindView(R.id.nsv_hall)
|
||||
NestedScrollView nsvHall;
|
||||
|
||||
private GroupMemberListAdapter mGroupMemberListAdapter;
|
||||
private List<AuthInfo> mAuthInfoList;
|
||||
|
||||
private HallListAdapter hallListAdapter;
|
||||
private RVDelegate<HallInfo> rvDelegate;
|
||||
|
||||
@Nullable
|
||||
private ClanInfo clanInfo;
|
||||
private int page = 100;
|
||||
private final int pageSize = 20;
|
||||
private boolean isLoading;
|
||||
private long lastClickTime;
|
||||
private final static String KEY_OTHER_UID = "key_other_uid";
|
||||
private boolean isSelfClan;
|
||||
private long otherUid;
|
||||
|
||||
public static void start(Context context, long uid) {
|
||||
Intent intent = new Intent(context, ModuleClanActivity.class);
|
||||
intent.putExtra(KEY_OTHER_UID, uid);
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
public static void start(Context context) {
|
||||
StatisticManager.Instance().onEvent(BasicConfig.INSTANCE.getAppContext(),
|
||||
StatisticsProtocol.Event.MY_HALL_CLICK, "我的厅入口", null);
|
||||
start(context, AuthModel.get().getCurrentUid());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_module_clan);
|
||||
ButterKnife.bind(this);
|
||||
otherUid = getIntent().getLongExtra(KEY_OTHER_UID, AuthModel.get().getCurrentUid());
|
||||
isSelfClan = otherUid == AuthModel.get().getCurrentUid();
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(this));
|
||||
|
||||
mSrlGroup.setOnRefreshListener(() -> {
|
||||
if (isLoading) {
|
||||
return;
|
||||
}
|
||||
loadMembers(true);
|
||||
});
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(this));
|
||||
mGroupMemberListAdapter = new GroupMemberListAdapter(this, null);
|
||||
mGroupMemberListAdapter.setOnItemChildClickListener((adapter, view, position) -> {
|
||||
List<MemberInfo> memberInfoList = mGroupMemberListAdapter.getData();
|
||||
if (memberInfoList.size() > 0) {
|
||||
MemberInfo memberInfo = memberInfoList.get(position);
|
||||
|
||||
int type = mGroupMemberListAdapter.getmType();
|
||||
if (type == GroupMemberListAdapter.TYPE_REMOVE) {
|
||||
if (view.getId() == R.id.iv_remove) {
|
||||
showRemoveDialog(memberInfo.getUid(), memberInfo.getRoleType(), memberInfo.getNick());
|
||||
}
|
||||
} else {
|
||||
UIHelper.showUserInfoAct(ModuleClanActivity.this, memberInfo.getUid());
|
||||
}
|
||||
}
|
||||
});
|
||||
mGroupMemberListAdapter.setOnLoadMoreListener(() -> loadMembers(false), recyclerView);
|
||||
|
||||
recyclerView.setAdapter(mGroupMemberListAdapter);
|
||||
setTvCount(0);
|
||||
if (isSelfClan) {
|
||||
getMvpPresenter().getHallAuths();
|
||||
} else {
|
||||
ivHallMemberSearch.setVisibility(View.GONE);
|
||||
}
|
||||
EventBus.getDefault().register(this);
|
||||
nsvHall.setNestedScrollingEnabled(false);
|
||||
initClanAndHall();
|
||||
setMoreOption(HallDataManager.get().isManager() && isSelfClan);
|
||||
}
|
||||
|
||||
|
||||
@SuppressLint({"CheckResult", "SetTextI18n"})
|
||||
private void initClanAndHall() {
|
||||
//没有家族才更新顶部公会名,有的话重新加载公会列表
|
||||
HallDataManager.get().registerName(this, hallName -> {
|
||||
if (TextUtils.isEmpty(hallName)) return;
|
||||
if (clanInfo == null || clanInfo.getId() == 0) {
|
||||
tvTitle.setText(hallName);
|
||||
} else {
|
||||
loadHallList();
|
||||
}
|
||||
});
|
||||
|
||||
HallModel.get().getUserHallAndClan(otherUid)
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(clanAndHallInfo -> {
|
||||
if (isSelfClan) {
|
||||
HallDataManager.get().updateHallInfo(clanAndHallInfo);
|
||||
}
|
||||
setSettingOption(HallDataManager.get().isClanElder() && isSelfClan);
|
||||
clanInfo = clanAndHallInfo.getClan();
|
||||
if (clanInfo != null && clanInfo.getId() != 0) {
|
||||
clClan.setVisibility(View.VISIBLE);
|
||||
clClan.setOnClickListener(v -> UserInfoActivity.Companion.start(context, clanInfo.getElderUid()));
|
||||
tvClanId.setText("家族ID:" + clanInfo.getId());
|
||||
tvClanOwnerName.setText(clanInfo.getElderName());
|
||||
tvTitle.setText(clanInfo.getName());
|
||||
ImageLoadUtils.loadRectImage(context,clanInfo.getAvatar(),ivClanAvatar,R.drawable.default_avatar, ScreenUtil.dip2px(8));
|
||||
ImageLoadUtils.loadImage(context, clanInfo.getLevelIcon(), ivClanLevel);
|
||||
GlideApp.with(ivAvatarBg.getContext())
|
||||
.load(clanInfo.getAvatar())
|
||||
.placeholder(R.drawable.default_avatar)
|
||||
.into(ivAvatarBg);
|
||||
loadHallList();
|
||||
} else {
|
||||
clClan.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@SuppressLint({"CheckResult", "SetTextI18n"})
|
||||
private void loadHallList() {
|
||||
if (clanInfo == null) return;
|
||||
HallModel.get().getClanHallList(clanInfo.getId())
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(hallInfos -> {
|
||||
if (ListUtils.isListEmpty(hallInfos)) {
|
||||
llHallList.setVisibility(View.GONE);
|
||||
return;
|
||||
}
|
||||
if (rvDelegate == null) {
|
||||
rvDelegate = new RVDelegate.Builder<HallInfo>()
|
||||
.setAdapter(hallListAdapter = new HallListAdapter())
|
||||
.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false))
|
||||
.setRecyclerView(rvHall)
|
||||
.build();
|
||||
hallListAdapter.setOnItemClickListener((adapter, view, position) -> {
|
||||
HallInfo hallInfo = hallListAdapter.getItem(position);
|
||||
if (hallInfo != null) {
|
||||
ModuleHallActivity.start(context, hallInfo.getHallId(),hallInfo.getOwnerUid(), otherUid);
|
||||
}
|
||||
});
|
||||
}
|
||||
llHallList.setVisibility(View.VISIBLE);
|
||||
tvClanMemberCount.setText("公会列表(" + hallInfos.size() + ")");
|
||||
rvDelegate.setNewData(hallInfos);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
EventBus.getDefault().unregister(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置权限, 房主才展示
|
||||
*
|
||||
* @param visibility true:显示
|
||||
*/
|
||||
private void setSettingOption(boolean visibility) {
|
||||
if (visibility) {
|
||||
ivSetting.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
ivSetting.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
private void setMoreOption(boolean hasOption) {
|
||||
if (hasOption) {
|
||||
ivHallMemberMore.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
ivHallMemberMore.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReloadDate() {
|
||||
super.onReloadDate();
|
||||
loadMembers(true);
|
||||
}
|
||||
|
||||
private long mTargetUid;
|
||||
|
||||
private void showRemoveDialog(long targetUid, int targetRoleType, String targetNick) {
|
||||
mTargetUid = targetUid;
|
||||
SpannableString spannableString = getMvpPresenter().getRemoveTips(this, targetRoleType, targetNick);
|
||||
|
||||
getDialogManager().showOkCancelWithTitleDialog("提示", spannableString, "确定", "取消", new DialogManager.OkCancelDialogListener() {
|
||||
@Override
|
||||
public void onCancel() {
|
||||
mTargetUid = -1;
|
||||
statusNone();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onOk() {
|
||||
getMvpPresenter().remove(targetUid);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void statusNone() {
|
||||
mGroupMemberListAdapter.setmType(GroupMemberListAdapter.TYPE_NONE);
|
||||
mGroupMemberListAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
private void loadMembers(boolean refresh) {
|
||||
page = refresh ? 1 : (page + 1);
|
||||
isLoading = true;
|
||||
HallModel.get().getClanAllMembers(otherUid, page, pageSize)
|
||||
.compose(RxHelper.bindActivity(this))
|
||||
.subscribe((listMemberInfo, throwable) -> {
|
||||
mSrlGroup.setRefreshing(false);
|
||||
isLoading = false;
|
||||
if (throwable != null) {
|
||||
Logger.i("模厅成员加载失败...");
|
||||
if (refresh) {
|
||||
showNetworkErr();
|
||||
}
|
||||
} else {
|
||||
int count = listMemberInfo.getCount();
|
||||
setTvCount(count);
|
||||
List<MemberInfo> list = listMemberInfo.getMembers();
|
||||
if (list == null) {
|
||||
list = new ArrayList<>();
|
||||
}
|
||||
if (list.size() == 0) {
|
||||
if (refresh) {
|
||||
showNoData();
|
||||
} else {
|
||||
mGroupMemberListAdapter.loadMoreEnd();
|
||||
}
|
||||
} else {
|
||||
hideStatus();
|
||||
if (refresh) {
|
||||
mGroupMemberListAdapter.setNewData(list);
|
||||
mGroupMemberListAdapter.disableLoadMoreIfNotFullPage();
|
||||
} else {
|
||||
mGroupMemberListAdapter.addData(list);
|
||||
}
|
||||
if (list.size() < 20) {
|
||||
mGroupMemberListAdapter.loadMoreEnd();
|
||||
} else {
|
||||
mGroupMemberListAdapter.loadMoreComplete();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private int mCount;
|
||||
|
||||
private void setTvCount(int count) {
|
||||
mCount = count;
|
||||
tvCount.setText("成员列表(" + mCount + "人)");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hallMenusByUidSuccess(List<OptionInfo> optionInfoList) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hallMenusByUidFail(String message) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getHallAuthsSuccess(List<AuthInfo> authInfoList) {
|
||||
mAuthInfoList = authInfoList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getHallAuthsFail(String message) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void quitSuccess(String message) {
|
||||
toast(message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void quitFail(String message) {
|
||||
toast(message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAllMembersSuccess(List<MemberInfo> memberInfoList) {
|
||||
hideStatus();
|
||||
mGroupMemberListAdapter.setNewData(memberInfoList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAllMembersFail(String message) {
|
||||
hideStatus();
|
||||
showNoData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeSuccess(String message) {
|
||||
if (mTargetUid == -1)
|
||||
return;
|
||||
|
||||
List<MemberInfo> memberInfoList = mGroupMemberListAdapter.getData();
|
||||
if (memberInfoList.size() > 0) {
|
||||
for (MemberInfo memberInfo : memberInfoList) {
|
||||
if (memberInfo.getUid() == mTargetUid) {
|
||||
memberInfoList.remove(memberInfo);
|
||||
|
||||
if (mCount > 0) {
|
||||
mCount--;
|
||||
setTvCount(mCount);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
statusNone();
|
||||
mTargetUid = -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeFail(String message) {
|
||||
mTargetUid = -1;
|
||||
toast(message);
|
||||
}
|
||||
|
||||
@OnClick({R.id.iv_hall_member_search, R.id.iv_hall_member_more, R.id.iv_back, R.id.iv_setting})
|
||||
public void onViewClicked(View view) {
|
||||
switch (view.getId()) {
|
||||
case R.id.iv_hall_member_search:
|
||||
MemberSearchActivity.start(ModuleClanActivity.this);
|
||||
break;
|
||||
case R.id.iv_hall_member_more:
|
||||
//防双击
|
||||
long currTime = System.currentTimeMillis();
|
||||
if (currTime - lastClickTime < 1000) {
|
||||
return;
|
||||
}
|
||||
lastClickTime = currTime;
|
||||
moreOption(mAuthInfoList);
|
||||
break;
|
||||
case R.id.iv_back:
|
||||
finish();
|
||||
break;
|
||||
case R.id.iv_setting:
|
||||
if (HallDataManager.get().getRoleType() == RoleType.OWNER) {
|
||||
showMenuDialog(view);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void moreOption(List<AuthInfo> authInfoList) {
|
||||
if (authInfoList != null && authInfoList.size() > 0) {
|
||||
|
||||
List<ButtonItem> list_adapter = new ArrayList<>();
|
||||
for (AuthInfo authInfo : authInfoList) {
|
||||
if (authInfo.getCode().equals(AuthInfo.AUTH_APPLY_HALL_EXIT)) {
|
||||
continue;
|
||||
}
|
||||
if (authInfo.isOwnAuth()) {
|
||||
ButtonItem item = new ButtonItem(authInfo.getName(), () -> {
|
||||
jumpCode(authInfo.getCode());
|
||||
});
|
||||
list_adapter.add(item);
|
||||
}
|
||||
}
|
||||
getDialogManager().showCommonPopupDialog(list_adapter, "取消");
|
||||
|
||||
} else {
|
||||
toast("未分配权限");
|
||||
}
|
||||
}
|
||||
|
||||
private void showMenuDialog(View attachView) {
|
||||
List<AuthInfo> authInfoList = new ArrayList<>();
|
||||
AuthInfo incomeAuth = new AuthInfo();
|
||||
incomeAuth.setCode(AuthInfo.AUTH_HALL_CLAN_INCOME);
|
||||
incomeAuth.setName("公会收入");
|
||||
incomeAuth.setStatus(1);
|
||||
authInfoList.add(incomeAuth);
|
||||
|
||||
HallMenuDialog dialog = new HallMenuDialog(this, attachView, authInfoList, false);
|
||||
dialog.setOnMenuClickListener(this::jumpCode);
|
||||
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
private void jumpCode(String code) {
|
||||
switch (code) {
|
||||
case AuthInfo.AUTH_APPLY_HALL_EXIT:
|
||||
showExitDialog();
|
||||
break;
|
||||
|
||||
case AuthInfo.AUTH_MEMBER_JOIN_MANAGER:
|
||||
HallSearchActivity.start(context, AbstractSelectFriendAction.TYPE_MODULE_HALL);
|
||||
break;
|
||||
|
||||
case AuthInfo.AUTH_MEMBER_EXIT_MANAGER:
|
||||
RemoveMemberListActivity.start(ModuleClanActivity.this);
|
||||
break;
|
||||
|
||||
case AuthInfo.AUTH_HALL_MANAGER_SET:
|
||||
AdminListActivity.start(ModuleClanActivity.this);
|
||||
break;
|
||||
|
||||
case AuthInfo.AUTH_HALL_NAME_SET:
|
||||
HallNameSettingActivity.start(ModuleClanActivity.this);
|
||||
break;
|
||||
case AuthInfo.AUTH_HALL_CLAN_INCOME:
|
||||
if (clanInfo != null) {
|
||||
ClanIncomeActivity.start(this, clanInfo.getId());
|
||||
}
|
||||
break;
|
||||
default:
|
||||
Logger.e("本版本不能识别的权限");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void showExitDialog() {
|
||||
CharSequence text = getMvpPresenter().getExitTips(this);
|
||||
getDialogManager().showOkCancelDialog(text, new DialogManager.OkCancelDialogListener() {
|
||||
@Override
|
||||
public void onCancel() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onOk() {
|
||||
getMvpPresenter().quit();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
onReloadDate();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean needSteepStateBar() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setStatusBar() {
|
||||
super.setStatusBar();
|
||||
StatusBarUtil.transparencyBar(this);
|
||||
StatusBarUtil.StatusBarLightMode(this);
|
||||
}
|
||||
}
|
@@ -11,7 +11,6 @@ import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.widget.NestedScrollView;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
@@ -28,13 +27,11 @@ import com.yizhuan.erban.common.widget.dialog.DialogManager;
|
||||
import com.yizhuan.erban.friend.action.AbstractSelectFriendAction;
|
||||
import com.yizhuan.erban.module_hall.HallDataManager;
|
||||
import com.yizhuan.erban.module_hall.hall.adapter.GroupMemberListAdapter;
|
||||
import com.yizhuan.erban.module_hall.hall.adapter.HallListAdapter;
|
||||
import com.yizhuan.erban.module_hall.hall.adapter.OptionAdapter;
|
||||
import com.yizhuan.erban.module_hall.hall.presenter.ModuleHallPresenter;
|
||||
import com.yizhuan.erban.module_hall.hall.view.IModuleHallView;
|
||||
import com.yizhuan.erban.module_hall.hall.view.dialog.HallMenuDialog;
|
||||
import com.yizhuan.erban.ui.user.UserInfoActivity;
|
||||
import com.yizhuan.erban.ui.utils.RVDelegate;
|
||||
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
||||
import com.yizhuan.erban.ui.widget.ButtonItem;
|
||||
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||
@@ -49,7 +46,6 @@ import com.yizhuan.xchat_android_core.statistic.StatisticManager;
|
||||
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
|
||||
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
|
||||
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
|
||||
import com.yizhuan.xchat_android_library.utils.ListUtils;
|
||||
import com.yizhuan.xchat_android_library.utils.config.BasicConfig;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
@@ -71,12 +67,6 @@ public class ModuleHallActivity extends BaseMvpActivity<IModuleHallView, ModuleH
|
||||
|
||||
@BindView(R.id.rv_option)
|
||||
RecyclerView mRvOption;
|
||||
@BindView(R.id.rv_hall)
|
||||
RecyclerView rvHall;
|
||||
@BindView(R.id.ll_hall_list)
|
||||
View llHallList;
|
||||
@BindView(R.id.tv_clan_member_count)
|
||||
TextView tvClanMemberCount;
|
||||
@BindView(R.id.srl_group)
|
||||
SwipeRefreshLayout mSrlGroup;
|
||||
@BindView(R.id.recycler_view)
|
||||
@@ -93,57 +83,44 @@ public class ModuleHallActivity extends BaseMvpActivity<IModuleHallView, ModuleH
|
||||
ImageView ivSetting;
|
||||
@BindView(R.id.tv_hall_id)
|
||||
TextView tvHallId;
|
||||
@BindView(R.id.tv_hall_owner_uid)
|
||||
TextView tvOwnerUid;
|
||||
@BindView(R.id.tv_hall_owner_name)
|
||||
TextView tvOwnerName;
|
||||
@BindView(R.id.iv_hall_avatar)
|
||||
ImageView ivAvatar;
|
||||
@BindView(R.id.cl_clan)
|
||||
View clClan;
|
||||
@BindView(R.id.cl_hall)
|
||||
View clHall;
|
||||
@BindView(R.id.tv_clan_id)
|
||||
TextView tvClanId;
|
||||
@BindView(R.id.tv_clan_owner_uid)
|
||||
TextView tvClanOwnerUid;
|
||||
@BindView(R.id.tv_clan_owner_name)
|
||||
TextView tvClanOwnerName;
|
||||
@BindView(R.id.iv_clan_avatar)
|
||||
ImageView ivClanAvatar;
|
||||
@BindView(R.id.iv_avatar_bg)
|
||||
ImageView ivAvatarBg;
|
||||
@BindView(R.id.nsv_hall)
|
||||
NestedScrollView nsvHall;
|
||||
@BindView(R.id.tv_owner_clan)
|
||||
TextView tvOwnerClan;
|
||||
|
||||
private OptionAdapter mOptionAdapter;
|
||||
|
||||
private GroupMemberListAdapter mGroupMemberListAdapter;
|
||||
private List<AuthInfo> mAuthInfoList;
|
||||
|
||||
private HallListAdapter hallListAdapter;
|
||||
private RVDelegate<HallInfo> rvDelegate;
|
||||
|
||||
@Nullable
|
||||
private ClanInfo clanInfo;
|
||||
private int page = 100;
|
||||
private final int pageSize = 20;
|
||||
private boolean isLoading;
|
||||
private long lastClickTime;
|
||||
private final static String KEY_HALL_ID = "key_hall_id";
|
||||
private final static String KEY_OWNER_UID = "key_owner_uid";
|
||||
private final static String KEY_OTHER_UID = "key_other_uid";
|
||||
private boolean isSelf;
|
||||
private long uid;
|
||||
private boolean isSelfHall;
|
||||
private long hallId;
|
||||
private long ownerUid;
|
||||
private long otherUid;
|
||||
|
||||
public static void start(Context context, long uid) {
|
||||
public static void start(Context context, long hallId, long ownerUid,long otherUid) {
|
||||
Intent intent = new Intent(context, ModuleHallActivity.class);
|
||||
intent.putExtra(KEY_OTHER_UID, uid);
|
||||
intent.putExtra(KEY_HALL_ID, hallId);
|
||||
intent.putExtra(KEY_OWNER_UID, ownerUid);
|
||||
intent.putExtra(KEY_OTHER_UID, otherUid);
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
public static void start(Context context) {
|
||||
StatisticManager.Instance().onEvent(BasicConfig.INSTANCE.getAppContext(),
|
||||
StatisticsProtocol.Event.MY_HALL_CLICK, "我的厅入口", null);
|
||||
start(context, AuthModel.get().getCurrentUid());
|
||||
start(context, HallModel.get().getHallId(), AuthModel.get().getCurrentUid(),AuthModel.get().getCurrentUid());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -151,8 +128,10 @@ public class ModuleHallActivity extends BaseMvpActivity<IModuleHallView, ModuleH
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_module_hall);
|
||||
ButterKnife.bind(this);
|
||||
uid = getIntent().getLongExtra(KEY_OTHER_UID, AuthModel.get().getCurrentUid());
|
||||
isSelf = uid == AuthModel.get().getCurrentUid();
|
||||
hallId = getIntent().getLongExtra(KEY_HALL_ID, HallModel.get().getHallId());
|
||||
ownerUid = getIntent().getLongExtra(KEY_OWNER_UID, AuthModel.get().getCurrentUid());
|
||||
otherUid = getIntent().getLongExtra(KEY_OTHER_UID, AuthModel.get().getCurrentUid());
|
||||
isSelfHall = hallId == HallModel.get().getHallId();
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(this));
|
||||
|
||||
mSrlGroup.setOnRefreshListener(() -> {
|
||||
@@ -179,53 +158,42 @@ public class ModuleHallActivity extends BaseMvpActivity<IModuleHallView, ModuleH
|
||||
}
|
||||
});
|
||||
mGroupMemberListAdapter.setOnLoadMoreListener(() -> loadMembers(false), recyclerView);
|
||||
|
||||
recyclerView.setAdapter(mGroupMemberListAdapter);
|
||||
setTvCount(0);
|
||||
if (isSelf) {
|
||||
if (HallDataManager.get().isManager() && isSelfHall) {
|
||||
getMvpPresenter().getHallAuths();
|
||||
getMvpPresenter().getHallMenusByUid(uid);
|
||||
getMvpPresenter().getHallMenusByUid(AuthModel.get().getCurrentUid());
|
||||
} else {
|
||||
ivHallMemberSearch.setVisibility(View.GONE);
|
||||
}
|
||||
EventBus.getDefault().register(this);
|
||||
nsvHall.setNestedScrollingEnabled(false);
|
||||
initClanAndHall();
|
||||
setMoreOption(HallDataManager.get().isManager() && isSelf);
|
||||
setMoreOption(HallDataManager.get().isManager() && isSelfHall);
|
||||
}
|
||||
|
||||
|
||||
@SuppressLint({"CheckResult", "SetTextI18n"})
|
||||
private void initClanAndHall() {
|
||||
//没有家族才更新顶部公会名,有的话重新加载公会列表
|
||||
HallDataManager.get().registerName(this, hallName -> {
|
||||
if (TextUtils.isEmpty(hallName)) return;
|
||||
if (clanInfo == null || clanInfo.getId() == 0) {
|
||||
tvTitle.setText(hallName);
|
||||
} else {
|
||||
loadHallList();
|
||||
}
|
||||
tvTitle.setText(hallName);
|
||||
});
|
||||
|
||||
HallModel.get().getUserHallAndClan(uid)
|
||||
HallModel.get().getUserHallAndClan(ownerUid)
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(clanAndHallInfo -> {
|
||||
if (isSelf) {
|
||||
HallDataManager.get().updateHallInfo(clanAndHallInfo);
|
||||
}
|
||||
//如果用户只是族长而且不是会长,隐藏设置,游客也需要隐藏
|
||||
setSettingOption((HallDataManager.get().isClanElder() &&
|
||||
HallDataManager.get().getRoleType() != RoleType.OWNER) || !isSelf);
|
||||
clanInfo = clanAndHallInfo.getClan();
|
||||
String bgUrl = "";
|
||||
HallInfo hallInfo = clanAndHallInfo.getHall();
|
||||
ClanInfo clanInfo = clanAndHallInfo.getClan();
|
||||
if (clanInfo != null && clanInfo.getId() != 0) {
|
||||
tvOwnerClan.setVisibility(View.VISIBLE);
|
||||
tvOwnerClan.setOnClickListener(v -> ModuleClanActivity.start(context,otherUid));
|
||||
}
|
||||
setSettingOption(HallDataManager.get().getRoleType() != RoleType.OWNER || !isSelfHall);
|
||||
if (hallInfo != null && hallInfo.getHallId() != 0) {
|
||||
clHall.setVisibility(View.VISIBLE);
|
||||
clHall.setOnClickListener(v -> UserInfoActivity.Companion.start(context, hallInfo.getOwnerUid()));
|
||||
bgUrl = hallInfo.getOwnerAvatar();
|
||||
tvHallId.setText("公会ID:" + hallInfo.getHallId() + "");
|
||||
tvOwnerUid.setText("音游号:" + hallInfo.getOwnerErbanNo());
|
||||
tvOwnerName.setText(hallInfo.getOwnerNick());
|
||||
tvTitle.setText(hallInfo.getHallName());
|
||||
GlideApp.with(ivAvatar.getContext())
|
||||
.load(hallInfo.getOwnerAvatar())
|
||||
@@ -234,59 +202,9 @@ public class ModuleHallActivity extends BaseMvpActivity<IModuleHallView, ModuleH
|
||||
} else {
|
||||
clHall.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
if (clanInfo != null && clanInfo.getId() != 0) {
|
||||
clClan.setVisibility(View.VISIBLE);
|
||||
clClan.setOnClickListener(v -> UserInfoActivity.Companion.start(context, clanInfo.getElderUid()));
|
||||
bgUrl = clanInfo.getAvatar();
|
||||
tvClanId.setText("家族ID:" + clanInfo.getId());
|
||||
tvClanOwnerUid.setText("音游号:" + clanInfo.getElderErbanNo());
|
||||
tvClanOwnerName.setText(clanInfo.getElderName());
|
||||
tvTitle.setText(clanInfo.getName());
|
||||
GlideApp.with(ivClanAvatar.getContext())
|
||||
.load(clanInfo.getAvatar())
|
||||
.placeholder(R.drawable.default_avatar)
|
||||
.into(ivClanAvatar);
|
||||
loadHallList();
|
||||
} else {
|
||||
clClan.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
GlideApp.with(ivAvatarBg.getContext())
|
||||
.load(bgUrl)
|
||||
.placeholder(R.drawable.default_avatar)
|
||||
.into(ivAvatarBg);
|
||||
});
|
||||
}
|
||||
|
||||
@SuppressLint({"CheckResult", "SetTextI18n"})
|
||||
private void loadHallList() {
|
||||
if (clanInfo == null) return;
|
||||
HallModel.get().getClanHallList(clanInfo.getId())
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(hallInfos -> {
|
||||
if (ListUtils.isListEmpty(hallInfos)) {
|
||||
llHallList.setVisibility(View.GONE);
|
||||
return;
|
||||
}
|
||||
if (rvDelegate == null) {
|
||||
rvDelegate = new RVDelegate.Builder<HallInfo>()
|
||||
.setAdapter(hallListAdapter = new HallListAdapter())
|
||||
.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false))
|
||||
.setRecyclerView(rvHall)
|
||||
.build();
|
||||
hallListAdapter.setOnItemClickListener((adapter, view, position) -> {
|
||||
HallInfo hallInfo = hallListAdapter.getItem(position);
|
||||
if (hallInfo != null) {
|
||||
HallMemberListActivity.start(context, hallInfo.getHallName(), hallInfo.getHallId());
|
||||
}
|
||||
});
|
||||
}
|
||||
llHallList.setVisibility(View.VISIBLE);
|
||||
tvClanMemberCount.setText("公会列表(" + hallInfos.size() + ")");
|
||||
rvDelegate.setNewData(hallInfos);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
@@ -340,13 +258,6 @@ public class ModuleHallActivity extends BaseMvpActivity<IModuleHallView, ModuleH
|
||||
} else {
|
||||
IncomeStatisticsActivity.start(ModuleHallActivity.this);
|
||||
}
|
||||
|
||||
} else if (OptionInfo.OPTION_GUILD_INCOME.equals(optionInfo.getCode())) {
|
||||
if (!TextUtils.isEmpty(optionInfo.getUrl())) {
|
||||
CommonWebViewActivity.start(ModuleHallActivity.this, optionInfo.getUrl());
|
||||
} else {
|
||||
ClanIncomeActivity.start(ModuleHallActivity.this, clanInfo.getId());
|
||||
}
|
||||
} else if (OptionInfo.OPTION_HALL_BUILD.equals(optionInfo.getCode())) {
|
||||
Log.i("option", "do nothing");
|
||||
} else if (OptionInfo.OPTION_ADD_HALL_MEMBER_WITH_PWD.equals(optionInfo.getCode())) {
|
||||
@@ -361,7 +272,6 @@ public class ModuleHallActivity extends BaseMvpActivity<IModuleHallView, ModuleH
|
||||
String url = optionInfo.getUrl();
|
||||
if (!TextUtils.isEmpty(url))
|
||||
CommonWebViewActivity.start(ModuleHallActivity.this, optionInfo.getUrl());
|
||||
|
||||
} else {
|
||||
toast("请更新到最新版本");
|
||||
}
|
||||
@@ -406,7 +316,7 @@ public class ModuleHallActivity extends BaseMvpActivity<IModuleHallView, ModuleH
|
||||
private void loadMembers(boolean refresh) {
|
||||
page = refresh ? 1 : (page + 1);
|
||||
isLoading = true;
|
||||
HallModel.get().getClanAllMembers(uid, page, pageSize)
|
||||
HallModel.get().getAllMembers(hallId, page, pageSize)
|
||||
.compose(RxHelper.bindActivity(this))
|
||||
.subscribe((listMemberInfo, throwable) -> {
|
||||
mSrlGroup.setRefreshing(false);
|
||||
@@ -508,15 +418,12 @@ public class ModuleHallActivity extends BaseMvpActivity<IModuleHallView, ModuleH
|
||||
for (MemberInfo memberInfo : memberInfoList) {
|
||||
if (memberInfo.getUid() == mTargetUid) {
|
||||
memberInfoList.remove(memberInfo);
|
||||
|
||||
if (mCount > 0) {
|
||||
mCount--;
|
||||
setTvCount(mCount);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -666,5 +573,6 @@ public class ModuleHallActivity extends BaseMvpActivity<IModuleHallView, ModuleH
|
||||
protected void setStatusBar() {
|
||||
super.setStatusBar();
|
||||
StatusBarUtil.transparencyBar(this);
|
||||
StatusBarUtil.StatusBarLightMode(this);
|
||||
}
|
||||
}
|
||||
|
@@ -14,6 +14,7 @@ import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.module_hall.hall.activity.ClanIncomeActivity;
|
||||
import com.yizhuan.xchat_android_core.module_hall.hall.bean.AuthInfo;
|
||||
import com.yizhuan.xchat_android_library.utils.SizeUtils;
|
||||
|
||||
@@ -127,6 +128,14 @@ public class HallMenuDialog extends Dialog implements View.OnClickListener {
|
||||
break;
|
||||
|
||||
case AuthInfo.AUTH_HALL_MANAGER_SET:
|
||||
ivMenu.setImageResource(R.drawable.ic_set_admin);
|
||||
break;
|
||||
case AuthInfo.AUTH_HALL_CLAN_INCOME:
|
||||
LinearLayout.LayoutParams clanLayoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
clanLayoutParams.setMargins(0, 0, SizeUtils.dp2px(mContext, 15), 0);
|
||||
clanLayoutParams.gravity = Gravity.END;
|
||||
ivTopArrow.setLayoutParams(clanLayoutParams);
|
||||
|
||||
ivMenu.setImageResource(R.drawable.ic_set_admin);
|
||||
break;
|
||||
}
|
||||
|
BIN
app/src/module_labour_union/res/drawable-xhdpi/bg_hall_top.png
Normal file
BIN
app/src/module_labour_union/res/drawable-xhdpi/bg_hall_top.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
Binary file not shown.
After Width: | Height: | Size: 214 B |
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
|
||||
<solid android:color="@color/color_66000000" />
|
||||
<corners
|
||||
android:bottomLeftRadius="10dp"
|
||||
android:bottomRightRadius="0dp"
|
||||
android:topLeftRadius="10dp"
|
||||
android:topRightRadius="0dp" />
|
||||
|
||||
|
||||
</shape>
|
288
app/src/module_labour_union/res/layout/activity_module_clan.xml
Normal file
288
app/src/module_labour_union/res/layout/activity_module_clan.xml
Normal file
@@ -0,0 +1,288 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout 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"
|
||||
tools:context="com.yizhuan.erban.module_hall.hall.activity.ModuleHallActivity">
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/nsv_hall"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context="com.yizhuan.erban.module_hall.hall.activity.ModuleHallActivity">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_top_bg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintDimensionRatio="750:497"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<com.yizhuan.erban.ui.widget.EdgeTransparentView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:edge_position="bottom">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_avatar_bg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="centerCrop" />
|
||||
|
||||
</com.yizhuan.erban.ui.widget.EdgeTransparentView>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@mipmap/bg_userinfo_photo_cover" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/cl_clan"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="80dp"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_clan_avatar"
|
||||
android:layout_width="70dp"
|
||||
android:layout_height="70dp"
|
||||
android:layout_marginStart="30dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:src="@drawable/default_cover"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_clan_avatar"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_clan_owner_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:lines="1"
|
||||
android:maxEms="6"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_15"
|
||||
tools:text="我是会长" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_clan_id"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:textColor="@color/white_transparent_60"
|
||||
android:textSize="@dimen/sp_11"
|
||||
tools:text="家族ID:123456" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_clan_level"
|
||||
android:layout_width="71dp"
|
||||
android:layout_height="64dp"
|
||||
android:layout_marginEnd="42dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/default_cover"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_option"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:paddingStart="10dp"
|
||||
android:paddingEnd="10dp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintTop_toBottomOf="@id/cl_clan"
|
||||
tools:itemCount="1"
|
||||
tools:listitem="@layout/item_tab_small" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_hall_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_13"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:background="@drawable/bg_corner_shadow_12"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:paddingBottom="17dp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintTop_toBottomOf="@id/rv_option"
|
||||
app:layout_goneMarginTop="30dp"
|
||||
tools:visibility="visible">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_clan_member_count"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:paddingStart="7dp"
|
||||
android:paddingTop="10dp"
|
||||
android:paddingEnd="14dp"
|
||||
android:paddingBottom="5dp"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="15dp"
|
||||
tools:text="公会列表(8)" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_hall"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_member_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_13"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:layout_marginBottom="@dimen/dp_15"
|
||||
android:background="@drawable/bg_corner_shadow_12"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/ll_hall_list">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingStart="15dp"
|
||||
android:paddingEnd="15dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_count"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingTop="10dp"
|
||||
android:paddingBottom="10dp"
|
||||
android:text="总人数:0人"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="15dp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_hall_member_search"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_hall_member_search" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_hall_member_more"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_hall_member_more"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
android:id="@+id/srl_group"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="450dp"
|
||||
android:layout_marginBottom="@dimen/dp_20">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/tb_hall"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:visibility="visible"
|
||||
app:contentInsetStart="0dp"
|
||||
app:layout_collapseMode="pin"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:paddingLeft="15dp"
|
||||
android:paddingRight="15dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_back"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:src="@drawable/icon_user_back" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="18sp"
|
||||
android:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_setting"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:src="@drawable/ic_setting"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_edit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:text="编辑"
|
||||
android:textColor="@color/color_999999"
|
||||
android:textSize="@dimen/sp_13"
|
||||
android:visibility="gone" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</androidx.appcompat.widget.Toolbar>
|
||||
</RelativeLayout>
|
@@ -10,288 +10,94 @@
|
||||
android:id="@+id/nsv_hall"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/bg_normal_1c1b22"
|
||||
tools:context="com.yizhuan.erban.module_hall.hall.activity.ModuleHallActivity">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_top_bg"
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintDimensionRatio="750:497"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<com.yizhuan.erban.ui.widget.EdgeTransparentView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:edge_position="bottom">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_avatar_bg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="centerCrop" />
|
||||
|
||||
</com.yizhuan.erban.ui.widget.EdgeTransparentView>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@mipmap/bg_userinfo_photo_cover" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/cl_clan"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="80dp"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintEnd_toStartOf="@id/cl_hall"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<View
|
||||
android:layout_width="66dp"
|
||||
android:layout_height="66dp"
|
||||
android:background="@drawable/shape_ffa768_stroke_1dp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_clan_avatar"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_clan_avatar"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_clan_avatar"
|
||||
app:layout_constraintTop_toTopOf="@id/iv_clan_avatar" />
|
||||
|
||||
<com.yizhuan.erban.common.widget.CircleImageView
|
||||
android:id="@+id/iv_clan_avatar"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:layout_marginStart="17dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:src="@drawable/default_avatar"
|
||||
app:cborder_color="@color/white"
|
||||
app:cborder_width="1dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.coorchice.library.SuperTextView
|
||||
android:layout_width="35dp"
|
||||
android:layout_height="15dp"
|
||||
android:gravity="center"
|
||||
android:text="族长"
|
||||
android:textColor="#ffffffff"
|
||||
android:textSize="11sp"
|
||||
app:corner="8dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_clan_avatar"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_clan_avatar"
|
||||
app:shaderEnable="true"
|
||||
app:shaderEndColor="#FFBC59"
|
||||
app:shaderMode="leftToRight"
|
||||
app:shaderStartColor="#FF8F57" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_clan_avatar"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_clan_owner_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:lines="1"
|
||||
android:maxEms="6"
|
||||
android:textColor="@color/text_title_white"
|
||||
android:textSize="@dimen/sp_15"
|
||||
tools:text="我是会长" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_clan_owner_uid"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_6"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="@dimen/sp_11"
|
||||
tools:text="音游号:3979655" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_clan_id"
|
||||
android:visibility="gone"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="@dimen/sp_11"
|
||||
tools:text="家族ID:123456" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_hall_top"
|
||||
android:scaleType="centerCrop" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/cl_hall"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="80dp"
|
||||
android:layout_marginTop="70dp"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/cl_clan"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<View
|
||||
android:layout_width="66dp"
|
||||
android:layout_height="66dp"
|
||||
android:background="@drawable/shape_7154ee_stroke_1dp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_hall_avatar"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_hall_avatar"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_hall_avatar"
|
||||
app:layout_constraintTop_toTopOf="@id/iv_hall_avatar" />
|
||||
|
||||
<com.yizhuan.erban.common.widget.CircleImageView
|
||||
android:id="@+id/iv_hall_avatar"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_width="70dp"
|
||||
android:layout_height="70dp"
|
||||
android:src="@drawable/default_avatar"
|
||||
app:cborder_color="@color/white"
|
||||
app:cborder_width="1dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.coorchice.library.SuperTextView
|
||||
android:layout_width="35dp"
|
||||
android:layout_height="15dp"
|
||||
android:gravity="center"
|
||||
android:text="会长"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="11sp"
|
||||
app:corner="8dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_hall_avatar"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_hall_avatar"
|
||||
app:shaderEnable="true"
|
||||
app:shaderEndColor="#6956F0"
|
||||
app:shaderMode="leftToRight"
|
||||
app:shaderStartColor="#987EF7" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
<TextView
|
||||
android:id="@+id/tv_hall_id"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_hall_avatar"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_hall_avatar"
|
||||
app:layout_constraintTop_toTopOf="@id/iv_hall_avatar">
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:textColor="#6D4729"
|
||||
android:textSize="@dimen/sp_13"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/iv_hall_avatar"
|
||||
tools:text="公会ID:123456" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_hall_owner_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:lines="1"
|
||||
android:maxEms="6"
|
||||
android:textColor="@color/text_title_white"
|
||||
android:textSize="@dimen/sp_15"
|
||||
tools:text="我是会我是会长长" />
|
||||
<com.yizhuan.xchat_android_library.widget.DrawableCenterTextView
|
||||
android:id="@+id/tv_owner_clan"
|
||||
android:layout_width="70dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_marginBottom="34dp"
|
||||
android:background="@drawable/bg_hall_owner_text"
|
||||
android:drawableEnd="@drawable/ic_hall_right_white"
|
||||
android:drawablePadding="6dp"
|
||||
android:gravity="center"
|
||||
android:text="所在家族"
|
||||
android:textColor="#ffffffff"
|
||||
android:textSize="10sp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_hall_owner_uid"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_6"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="@dimen/sp_11"
|
||||
tools:text="音游号:3979655" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_hall_id"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="@dimen/sp_11"
|
||||
android:visibility="gone"
|
||||
tools:text="公会ID:123456" />
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.Barrier
|
||||
android:id="@+id/barrier"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:barrierDirection="bottom"
|
||||
app:constraint_referenced_ids="cl_clan,cl_hall" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_option"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:layout_marginTop="@dimen/dp_15"
|
||||
android:paddingStart="10dp"
|
||||
android:paddingEnd="10dp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintTop_toBottomOf="@id/barrier"
|
||||
app:layout_constraintTop_toBottomOf="@id/cl_hall"
|
||||
tools:itemCount="1"
|
||||
tools:listitem="@layout/item_tab_small" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_hall_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_13"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:background="@drawable/bg_secondary_radius_15"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:paddingBottom="17dp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintTop_toBottomOf="@id/rv_option"
|
||||
app:layout_goneMarginTop="30dp"
|
||||
tools:visibility="visible">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_clan_member_count"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:paddingStart="7dp"
|
||||
android:paddingTop="10dp"
|
||||
android:paddingEnd="14dp"
|
||||
android:paddingBottom="5dp"
|
||||
android:textColor="@color/text_title_white"
|
||||
android:textSize="15dp"
|
||||
tools:text="公会列表(8)" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_hall"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
tools:listitem="@layout/item_tab_small"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_member_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_13"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:background="@drawable/bg_secondary_radius_15"
|
||||
android:layout_marginBottom="@dimen/dp_15"
|
||||
android:background="@drawable/bg_corner_shadow_12"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintTop_toBottomOf="@id/ll_hall_list">
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/rv_option">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -308,7 +114,7 @@
|
||||
android:paddingTop="10dp"
|
||||
android:paddingBottom="10dp"
|
||||
android:text="总人数:0人"
|
||||
android:textColor="@color/text_title_white"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="15dp" />
|
||||
|
||||
<ImageView
|
||||
@@ -333,8 +139,8 @@
|
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
android:id="@+id/srl_group"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="450dp"
|
||||
android:layout_marginBottom="@dimen/dp_20">
|
||||
android:layout_height="550dp"
|
||||
>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
@@ -369,7 +175,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:src="@drawable/icon_user_back" />
|
||||
android:src="@drawable/arrow_left" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_title"
|
||||
@@ -377,7 +183,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:textColor="@color/white"
|
||||
android:text="哈哈哈哈"
|
||||
android:textColor="#6D4729"
|
||||
android:textSize="18sp"
|
||||
android:visibility="visible" />
|
||||
|
||||
@@ -387,7 +194,7 @@
|
||||
android:layout_height="24dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:src="@drawable/ic_setting"
|
||||
android:src="@drawable/ic_hall_setting"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
|
@@ -20,6 +20,8 @@ public class AuthInfo implements Serializable {
|
||||
public final static String AUTH_APPLY_HALL_EXIT = "hall_exit";
|
||||
/** 厅名设置(本地自定义) */
|
||||
public final static String AUTH_HALL_NAME_SET = "hall_name_set";
|
||||
/** 公会收入(本地自定义) */
|
||||
public final static String AUTH_HALL_CLAN_INCOME = "clan_income";
|
||||
|
||||
|
||||
/**表示能够处理的权限,为了兼容版本问题,过滤新版可能出现的新权限*/
|
||||
|
Reference in New Issue
Block a user