首页增加赛事Tab,我的页面放入首页底部Tab

This commit is contained in:
huangjian
2021-03-09 18:23:18 +08:00
committed by zu
parent e0747348f0
commit 035851c72f
17 changed files with 197 additions and 263 deletions

View File

@@ -11,16 +11,15 @@ import android.os.Bundle;
import android.os.Handler;
import android.text.TextUtils;
import android.util.Log;
import android.util.SparseArray;
import android.view.KeyEvent;
import android.view.View;
import android.view.animation.LinearInterpolator;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import com.netease.nim.uikit.StatusBarUtil;
@@ -60,7 +59,7 @@ import com.yizhuan.erban.community.publish.view.PublishActivity;
import com.yizhuan.erban.community.square.SquareFragment;
import com.yizhuan.erban.family.view.activity.FamilyHomeActivity;
import com.yizhuan.erban.home.fragment.ContactsListFragment;
import com.yizhuan.erban.home.fragment.GameHomeFragment;
import com.yizhuan.erban.home.fragment.HomeFragment;
import com.yizhuan.erban.home.fragment.MeFragment;
import com.yizhuan.erban.home.presenter.MainPresenter;
import com.yizhuan.erban.home.view.IMainView;
@@ -94,7 +93,6 @@ import com.yizhuan.erban.ui.im.chat.SysMsgV2ViewHolder;
import com.yizhuan.erban.ui.im.chat.SysMsgViewHolder;
import com.yizhuan.erban.ui.login.BindPhoneActivity;
import com.yizhuan.erban.ui.login.fragment.AddUserInfoFragment;
import com.yizhuan.erban.ui.patriarch.PatriarchModeDialog;
import com.yizhuan.erban.ui.patriarch.help.LimitEnterRoomHelper;
import com.yizhuan.erban.ui.patriarch.help.PmDialogShowMrg;
import com.yizhuan.erban.ui.user.UserInfoActivity;
@@ -172,7 +170,6 @@ import com.yizhuan.xchat_android_core.user.event.LoadLoginUserInfoEvent;
import com.yizhuan.xchat_android_core.user.event.LoginUserInfoUpdateEvent;
import com.yizhuan.xchat_android_core.user.event.NeedBindPhoneEvent;
import com.yizhuan.xchat_android_core.user.event.NeedCompleteInfoEvent;
import com.yizhuan.xchat_android_core.user.event.ShowMeEvent;
import com.yizhuan.xchat_android_core.utils.SharedPreferenceUtils;
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
@@ -181,6 +178,7 @@ import com.yizhuan.xchat_android_library.utils.AppMetaDataUtil;
import com.yizhuan.xchat_android_library.utils.JavaUtil;
import com.yizhuan.xchat_android_library.utils.codec.DESUtils;
import com.yizhuan.xchat_android_library.utils.pref.CommonPref;
import com.yuxiaor.flutter.g_faraday.FaradayFragment;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@@ -216,8 +214,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
private LinearLayout llDragInfo;
private LivingIconView userLivingView;
private View viewClose;
private DrawerLayout drawerLayout;
private MainTabLayout mMainTabLayout;
private int mCurrentMainPosition = MainTabLayout.MAIN_TAB_POS_HOME;
@@ -231,6 +227,17 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
*/
private LimitEnterRoomHelper limitEnterRoomHelper;
@Nullable
private Fragment tempFragment = null;
private final SparseArray<Fragment> fragmentArray = new SparseArray<>();
{
fragmentArray.put(MainTabLayout.MAIN_TAB_POS_HOME, new HomeFragment());
fragmentArray.put(MainTabLayout.MAIN_TAB_POS_MSG, new ContactsListFragment());
fragmentArray.put(MainTabLayout.MAIN_TAB_POS_SQUARE, new SquareFragment());
fragmentArray.put(MainTabLayout.MAIN_TAB_POS_ME, new MeFragment());
fragmentArray.put(MainTabLayout.MAIN_TAB_POS_GAME, FaradayFragment.newInstance("main", null, false, null));
}
public static void start(Context context) {
start(context, null);
@@ -299,7 +306,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
initTeamSessionCustomization();
EventBus.getDefault().register(this);
otherModelInit();
initMe();
}
private void otherModelInit() {
@@ -350,8 +356,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
SessionCustomization sessionCustomization = new SessionCustomization();
ArrayList<BaseAction> actions = new ArrayList<>();
actions.add(new ImageAction());
// actions.add(new DecorationAction());
// actions.add(new ChatterBoxAction());
actions.add(new GiftAction());
sessionCustomization.actions = actions;
sessionCustomization.withSticker = true;
@@ -379,35 +383,12 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
NimUIKit.registerMsgItemViewHolder(LevelUpAttachment.class, MsgViewHolderLevel.class);
NimUIKit.registerMsgItemViewHolder(AitMeAttachment.class, MsgViewHolderAitMe.class);
NimUIKit.registerMsgItemViewHolder(RedPackageAttachment.class, MsgViewHolderRedPackage.class);
// 声音瓶子
// NimUIKit.registerMsgItemViewHolder(SysMsgVoiceAttachment.class, SysMsgVoiceViewHolder.class);
// NimUIKit.registerMsgItemViewHolder(VoiceBottleSayHiAttachment.class, MsgViewHolderVoiceBottleSayHi.class);
// NimUIKit.registerMsgItemViewHolder(VoiceBottleShakeHeartAttachment.class, MsgViewHolderText.class);
// 师徒关系-师父看到的任务
// NimUIKit.registerMsgItemViewHolder(MentoringMasterMissionOneAttachment.class, MasterMissionOneViewHolder.class);
// NimUIKit.registerMsgItemViewHolder(MentoringMasterMissionTwoAttachment.class, MasterMissionTwoViewHolder.class);
// NimUIKit.registerMsgItemViewHolder(MentoringMasterMissionThreeAttachment.class, MasterMissionThreeViewHolder.class);
// NimUIKit.registerMsgItemViewHolder(MentoringMasterMissionFourAttachment.class, MasterMissionFourViewHolder.class);
// NimUIKit.registerMsgItemViewHolder(MentoringSharingRoomAttachment.class, MentoringSharingRoomViewHolder.class);
// 师徒关系-徒弟看到的任务
// NimUIKit.registerMsgItemViewHolder(MentoringApprenticeMissionOneAttachment.class, ApprenticeMissionOneViewHolder.class);
// NimUIKit.registerMsgItemViewHolder(MentoringApprenticeMissionTwoAttachment.class, ApprenticeMissionTwoViewHolder.class);
// NimUIKit.registerMsgItemViewHolder(MentoringApprenticeMissionThreeAttachment.class, ApprenticeMissionThreeViewHolder.class);
// NimUIKit.registerMsgItemViewHolder(MentoringApprenticeMissionFourAttachment.class, ApprenticeMissionFourViewHolder.class);
// 师徒关系-提示消息
// NimUIKit.registerMsgItemViewHolder(MentoringMissionTipsAttachment.class, MentoringTipsViewHolder.class);
// NimUIKit.registerMsgItemViewHolder(ImGameAttachment.class, MsgViewHolderGame.class);
// NimUIKit.registerMsgItemViewHolder(ImTipAttachment.class, MsgViewHolderTip.class);
//模厅模块
HallDataManager.get().mainNimOnCreate();
//签到
NimUIKit.registerMsgItemViewHolder(OpenSignInAttachment.class, SignInNoticeMsgViewHolder.class);
//瓜分钻石 三级
NimUIKit.registerMsgItemViewHolder(CarveUpGoldThirdLevelAttachment.class, MsgViewHolderText.class);
// 话匣子
// NimUIKit.registerMsgItemViewHolder(ChatterBoxAttachment.class, MVHChatterBoxStart.class);
// NimUIKit.registerMsgItemViewHolder(DiceThrowAttachment.class, MVHDiceThrow.class);
// NimUIKit.registerMsgItemViewHolder(ChatterBoxInitAttachment.class, MVHChatterBoxInit.class);
// 社区动态
NimUIKit.registerMsgItemViewHolder(DynamicSysAttachment.class, DynamicSysHolder.class); // 动态审核, 违规删除
@@ -452,23 +433,15 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
@Override
public void onAvatarClick(Context context, String account) {
UserInfoActivity.Companion.start(MainActivity.this, Long.valueOf(account));
UserInfoActivity.Companion.start(MainActivity.this, Long.parseLong(account));
}
};
private SessionEventListener listener = new SessionEventListener() {
@Override
public void onAvatarClicked(Context context, IMMessage message) {
switch (message.getSessionType()) {
case Team:
UserInfoActivity.Companion.start(MainActivity.this, Long.valueOf(message.getFromAccount()));
break;
default:
case P2P:
UserInfoActivity.Companion.start(MainActivity.this, Long.valueOf(message.getFromAccount()));
break;
}
if (message == null) return;
UserInfoActivity.Companion.start(MainActivity.this, Long.parseLong(message.getFromAccount()));
}
@Override
@@ -508,11 +481,8 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
userLivingView = findViewById(R.id.liv_user);
viewClose = findViewById(R.id.view_close);
llDragInfo = findViewById(R.id.ll_drag_info);
// floatingLiveMiniView = findViewById(R.id.floating_view);
userLivingView.setColor(Color.WHITE);
mMainTabLayout.setOnTabClickListener(this);
drawerLayout = findViewById(R.id.drawer_layout);
}
@@ -539,8 +509,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
handleNimIntent();
}
private long startTime;
private boolean shown;
private void onParseIntent() {
Intent intent = getIntent();
@@ -552,8 +520,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
if (!TextUtils.isEmpty(account)) {
NimP2PMessageActivity.start(this, account);
}
} else if (intent.hasExtra("url") && intent.hasExtra("type")) {
startTime = System.currentTimeMillis();
} else if (intent.hasExtra("gameTab") && intent.getBooleanExtra("gameTab", false)) {
if (mMainTabLayout != null) {
mMainTabLayout.select(MainTabLayout.MAIN_TAB_POS_HOME);
@@ -606,10 +572,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
drawerLayout.closeDrawer(GravityCompat.START);
return true;
}
/**
* 防止华为机型未加入白名单时按返回键回到桌面再锁屏后几秒钟进程被杀
*/
@@ -648,7 +610,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
* 检查是否绑定手机
*/
private void checkBindPhone() {
// BinderPhoneActivity.start(context, true);
BindPhoneActivity.start(context);
}
@@ -840,69 +801,21 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
@SuppressLint("RestrictedApi")
@Override
public void onTabClick(int position) {
switchFragment(position);
}
private void initMe() {
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fl_container, new MeFragment())
.commitAllowingStateLoss();
}
Fragment showFragment = fragmentArray.get(position);
if (showFragment == tempFragment) return;
private void switchFragment(int position) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Fragment squareFragment = fragmentManager.findFragmentByTag(SquareFragment.TAG);
Fragment contactFragment = fragmentManager.findFragmentByTag(ContactsListFragment.TAG);
//Fragment meFragment = fragmentManager.findFragmentByTag(MeFragment.TAG);
Fragment homeFragment = fragmentManager.findFragmentByTag(GameHomeFragment.TAG);
if (squareFragment != null && squareFragment.isVisible()) {
fragmentTransaction.hide(squareFragment);
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
if (!showFragment.isAdded()) {
transaction.add(R.id.main_fragment, showFragment, null);
}
if (contactFragment != null && contactFragment.isVisible()) {
fragmentTransaction.hide(contactFragment);
}
/* if (meFragment != null && meFragment.isVisible()) {
fragmentTransaction.hide(meFragment);
}*/
if (homeFragment != null && homeFragment.isVisible()) {
fragmentTransaction.hide(homeFragment);
}
if (position == MainTabLayout.MAIN_TAB_POS_HOME) {
if (homeFragment == null) {
homeFragment = new GameHomeFragment();
fragmentTransaction.add(R.id.main_fragment, homeFragment, GameHomeFragment.TAG);
}
fragmentTransaction.show(homeFragment);
} else if (position == MainTabLayout.MAIN_TAB_POS_SQUARE) {
if (squareFragment == null) {
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_SQUARE_DONG_TAI_CLICK, "点击广场动态页");
squareFragment = new SquareFragment();
fragmentTransaction.add(R.id.main_fragment, squareFragment, SquareFragment.TAG);
}
fragmentTransaction.show(squareFragment);
} else if (position == MainTabLayout.MAIN_TAB_POS_MSG) {
if (contactFragment == null) {
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_MESSAGE, "消息页");
contactFragment = new ContactsListFragment();
fragmentTransaction.add(R.id.main_fragment, contactFragment, ContactsListFragment.TAG);
}
fragmentTransaction.show(contactFragment);
} /*else if (position == MainTabLayout.MAIN_TAB_POS_ME) {
if (meFragment == null) {
meFragment = new MeFragment();
fragmentTransaction.add(R.id.main_fragment, meFragment, MeFragment.TAG);
}
fragmentTransaction.show(meFragment);
}*/
if (!isDestroyed()) fragmentTransaction.commitAllowingStateLoss();
transaction.show(showFragment);
if (tempFragment != null) transaction.hide(tempFragment);
tempFragment = showFragment;
if (!isDestroyed()) transaction.commitNowAllowingStateLoss();
mCurrentMainPosition = position;
}
@Override
public void exitRoom(RoomInfo roomInfo) {
closeOpenRoomAnimation();
@@ -938,15 +851,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
RecallDialog.start(this);
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onShowMe(ShowMeEvent event) {
if (drawerLayout != null) drawerLayout.openDrawer(GravityCompat.START);
}
public boolean isShowMsgTab() {
return mCurrentMainPosition == MainTabLayout.MAIN_TAB_POS_MSG;
}
public boolean isShowMeTab() {
return mCurrentMainPosition == MainTabLayout.MAIN_TAB_POS_ME;
}

View File

@@ -1,4 +1,4 @@
package com.yizhuan.erban.application;
package com.yizhuan.erban.application;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
@@ -16,6 +16,7 @@ import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.multidex.MultiDex;
import com.alibaba.security.realidentity.RPVerify;

View File

@@ -117,7 +117,7 @@ import static com.yizhuan.xchat_android_core.certification.CertificationModel.CE
* 音游首页
*/
@CreatePresenter(MainFragmentPresenter.class)
public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFragmentPresenter>
public class HomeFragment extends BaseMvpFragment<IMainFragmentView, MainFragmentPresenter>
implements IMainFragmentView, View.OnClickListener, MainMagicIndicatorAdapter.OnItemSelectListener, MainMagicIndicatorAdapter.OnBottomItemSelectListener {
public static final String TAG = "GameHomeFragment";
private FragmentGameHomeBinding mBinding;

View File

@@ -1,21 +1,18 @@
package com.yizhuan.erban.home.fragment;
import android.content.Intent;
import androidx.databinding.DataBindingUtil;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
import android.text.style.ForegroundColorSpan;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.databinding.DataBindingUtil;
import com.yizhuan.erban.MainActivity;
import com.yizhuan.erban.R;
import com.yizhuan.erban.UIHelper;
@@ -25,16 +22,15 @@ import com.yizhuan.erban.common.widget.dialog.DialogManager;
import com.yizhuan.erban.databinding.FragmentMeBinding;
import com.yizhuan.erban.decoration.view.MyDecorationActivity;
import com.yizhuan.erban.home.activity.CollectionRoomActivity;
import com.yizhuan.erban.module_hall.HallDataManager;
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
import com.yizhuan.xchat_android_core.home.bean.HomeTagInfo;
import com.yizhuan.erban.home.presenter.MainFragmentPresenter;
import com.yizhuan.erban.home.view.IMainFragmentView;
import com.yizhuan.erban.module_hall.HallDataManager;
import com.yizhuan.erban.module_hall.hall.activity.ModuleHallActivity;
import com.yizhuan.erban.ui.patriarch.PatriarchModeActivity;
import com.yizhuan.erban.ui.pay.ChargeActivity;
import com.yizhuan.erban.ui.relation.AttentionListActivity;
import com.yizhuan.erban.ui.relation.FansListActivity;
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
import com.yizhuan.erban.ui.widget.ObservableScrollView;
import com.yizhuan.erban.ui.widget.higuide.TuTuGuideHelper;
@@ -45,6 +41,7 @@ import com.yizhuan.xchat_android_core.customer_server.CustomerServerModel;
import com.yizhuan.xchat_android_core.decoration.headwear.bean.HeadWearInfo;
import com.yizhuan.xchat_android_core.home.bean.BannerInfo;
import com.yizhuan.xchat_android_core.home.bean.HomeConcernsInfo;
import com.yizhuan.xchat_android_core.home.bean.HomeTagInfo;
import com.yizhuan.xchat_android_core.home.bean.TagListInfo;
import com.yizhuan.xchat_android_core.level.UserLevelVo;
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
@@ -66,7 +63,6 @@ import com.yizhuan.xchat_android_core.utils.StarUtils;
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
import com.yizhuan.xchat_android_library.net.rxnet.callback.CallBack;
import com.yizhuan.xchat_android_library.rxbus.RxBusHelper;
import com.yizhuan.xchat_android_library.utils.SingleToastUtil;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@@ -96,7 +92,6 @@ public class MeFragment extends BaseMvpFragment<IMainFragmentView, MainFragmentP
public static final String TAG = "MeFragment";
private UserInfo mUserInfo;
private NobleInfo mNobleInfo;
private FragmentMeBinding mBinding;
private ObservableScrollView scrollView;

View File

@@ -2,7 +2,9 @@ package com.yizhuan.erban.ui.widget;
import android.content.Context;
import androidx.annotation.Nullable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.LinearLayout;
@@ -26,8 +28,9 @@ public class MainTabLayout extends LinearLayout implements View.OnClickListener
public static final int MAIN_TAB_POS_SQUARE = 2;
public static final int MAIN_TAB_POS_ME = 3;
public static final int MAIN_TAB_POS_HOME = 4;
public static final int MAIN_TAB_POS_GAME = 5;
private MainTab gameTab;
private MainTab gameTab, homeTab, meTab;
private MainRedPointTab mMsgTab;
private MainRedPointTab mAttentionTab;
private int mLastPosition = -1;
@@ -60,17 +63,21 @@ public class MainTabLayout extends LinearLayout implements View.OnClickListener
public MainTabLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context, attrs, defStyleAttr);
init(context);
}
private void init(Context context, AttributeSet attrs, int defStyleAttr) {
private void init(Context context) {
setOrientation(HORIZONTAL);
inflate(context, R.layout.main_tab_layout, this);
mAttentionTab = findViewById(R.id.main_attention_tab);
mMsgTab = findViewById(R.id.main_msg_tab);
gameTab = findViewById(R.id.main_game_tab);
homeTab = findViewById(R.id.main_home_tab);
meTab = findViewById(R.id.main_me_tab);
homeTab.setOnClickListener(this);
meTab.setOnClickListener(this);
gameTab.setOnClickListener(this);
mAttentionTab.setOnClickListener(this);
mMsgTab.setOnClickListener(this);
@@ -82,20 +89,26 @@ public class MainTabLayout extends LinearLayout implements View.OnClickListener
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.main_game_tab:
case R.id.main_home_tab:
select(MAIN_TAB_POS_HOME);
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_FIRST_TAB,
"首页tab");
break;
case R.id.main_game_tab:
select(MAIN_TAB_POS_GAME);
break;
case R.id.main_attention_tab:
select(MAIN_TAB_POS_SQUARE);
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_FIND_TAB,
"发现tab");
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_SQUARE_DONG_TAI_CLICK, "点击广场动态页");
break;
case R.id.main_msg_tab:
select(MAIN_TAB_POS_MSG);
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_MESSAGE_TAB,
"消息tab");
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_MESSAGE, "消息页");
break;
case R.id.main_me_tab:
select(MAIN_TAB_POS_ME);
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_MINE_TAB,
"我的tab");
break;
}
}
@@ -108,7 +121,9 @@ public class MainTabLayout extends LinearLayout implements View.OnClickListener
if (mLastPosition == position) return;
mAttentionTab.select(position == MAIN_TAB_POS_SQUARE);
mMsgTab.select(position == MAIN_TAB_POS_MSG);
gameTab.select(position == MAIN_TAB_POS_HOME);
gameTab.select(position == MAIN_TAB_POS_GAME);
homeTab.select(position == MAIN_TAB_POS_HOME);
meTab.select(position == MAIN_TAB_POS_ME);
if (mOnTabClickListener != null) {
mOnTabClickListener.onTabClick(position);
}
@@ -133,7 +148,7 @@ public class MainTabLayout extends LinearLayout implements View.OnClickListener
/**
* 隐藏或显示某些tab
*/
public void showOrHideTab(int position,int visible){
public void showOrHideTab(int position, int visible) {
switch (position) {
case MAIN_TAB_POS_SQUARE:
mAttentionTab.setVisibility(visible);

View File

@@ -1,134 +1,124 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
<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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
tools:context="com.yizhuan.erban.MainActivity">
<androidx.constraintlayout.widget.ConstraintLayout
<FrameLayout
android:id="@+id/main_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.yizhuan.erban.MainActivity">
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@id/bg_main_tab"
app:layout_constraintTop_toTopOf="parent" />
<FrameLayout
android:id="@+id/main_fragment"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/bg_main_tab"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="#2A2A39"
app:layout_constraintBottom_toBottomOf="parent" />
<com.yizhuan.erban.ui.widget.MainTabLayout
android:id="@+id/main_tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<com.yizhuan.erban.ui.widget.MainTabLayout
android:id="@+id/main_tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="3dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/main_tab_layout"
app:layout_constraintTop_toTopOf="parent">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/bg_main_tab"
app:layout_constraintTop_toTopOf="parent">
<com.yizhuan.erban.common.widget.DragLayout
android:id="@+id/avatar_image_layout"
android:layout_width="@dimen/dp_drag_layout_bg_width"
android:layout_height="@dimen/dp_drag_layout_bg_height"
android:layout_gravity="bottom|end"
android:layout_marginEnd="@dimen/dp_15"
android:layout_marginBottom="50dp"
android:background="@drawable/bg_room_main_entrance"
android:visibility="visible">
<com.yizhuan.erban.common.widget.DragLayout
android:id="@+id/avatar_image_layout"
android:layout_width="@dimen/dp_drag_layout_bg_width"
android:layout_height="@dimen/dp_drag_layout_bg_height"
android:layout_gravity="bottom|end"
android:layout_marginEnd="@dimen/dp_15"
android:layout_marginBottom="50dp"
android:background="@drawable/bg_room_main_entrance"
android:visibility="visible">
<FrameLayout
android:id="@+id/fl_avatar"
android:layout_width="@dimen/dp_drag_layout_avatar_size"
android:layout_height="@dimen/dp_drag_layout_avatar_size"
android:layout_centerVertical="true"
android:layout_marginStart="12.5dp"
<FrameLayout
android:id="@+id/fl_avatar"
android:layout_width="@dimen/dp_drag_layout_avatar_size"
android:layout_height="@dimen/dp_drag_layout_avatar_size"
android:layout_centerVertical="true"
android:layout_marginStart="12.5dp"
>
>
<com.yizhuan.erban.common.widget.CircleImageView
android:id="@+id/avatar_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:src="@drawable/default_avatar" />
<com.yizhuan.erban.common.widget.CircleImageView
android:id="@+id/avatar_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:src="@drawable/default_avatar" />
<com.yizhuan.erban.common.widget.CircleImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0.1"
android:src="@color/black" />
<com.yizhuan.erban.common.widget.CircleImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0.1"
android:src="@color/black" />
<com.yizhuan.erban.ui.widget.LivingIconView
android:id="@+id/liv_user"
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_gravity="center"
android:background="@color/transparent" />
</FrameLayout>
<com.yizhuan.erban.ui.widget.LivingIconView
android:id="@+id/liv_user"
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_gravity="center"
android:background="@color/transparent" />
</FrameLayout>
<LinearLayout
android:id="@+id/ll_drag_info"
<LinearLayout
android:id="@+id/ll_drag_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/dp_5"
android:layout_toStartOf="@id/view_close"
android:layout_toEndOf="@id/fl_avatar"
android:orientation="vertical">
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/dp_5"
android:layout_toStartOf="@id/view_close"
android:layout_toEndOf="@id/fl_avatar"
android:orientation="vertical">
android:ellipsize="end"
android:lines="1"
android:maxEms="6"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="@dimen/dp_12"
tools:text="我是一只小萌新" />
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="1"
android:maxEms="6"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="@dimen/dp_12"
tools:text="我是一只小萌新" />
<TextView
android:id="@+id/tv_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="@dimen/dp_10"
tools:text="ID:666" />
</LinearLayout>
<TextView
android:id="@+id/tv_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="@dimen/dp_10"
tools:text="ID:666" />
</LinearLayout>
<ImageView
android:id="@+id/view_close"
android:layout_width="@dimen/dp_22"
android:layout_height="@dimen/dp_22"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/dp_18"
android:src="@drawable/ic_room_main_entrance_close" />
</com.yizhuan.erban.common.widget.DragLayout>
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<ImageView
android:id="@+id/view_close"
android:layout_width="@dimen/dp_22"
android:layout_height="@dimen/dp_22"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/dp_18"
android:src="@drawable/ic_room_main_entrance_close" />
</com.yizhuan.erban.common.widget.DragLayout>
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<com.google.android.material.navigation.NavigationView
android:layout_width="260dp"
android:layout_height="match_parent"
android:layout_gravity="start"
app:insetForeground="@android:color/transparent">
<FrameLayout
android:id="@+id/fl_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.google.android.material.navigation.NavigationView>
</androidx.drawerlayout.widget.DrawerLayout>

View File

@@ -8,14 +8,15 @@
tools:parentTag="LinearLayout">
<com.yizhuan.erban.ui.widget.MainTab
android:id="@+id/main_game_tab"
android:id="@+id/main_home_tab"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_gravity="bottom"
android:layout_weight="1"
android:textSize="10sp"
app:tab_icon="@mipmap/ic_main_tab_game_home"
app:tab_icon_select="@mipmap/ic_main_tab_game_pressed"
app:tab_text="派对"
app:tab_text_color="@color/color_999999"
app:tab_text_color_select="@color/appColor" />
@@ -23,11 +24,25 @@
android:id="@+id/main_attention_tab"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_gravity="bottom"
android:layout_weight="1"
android:textSize="@dimen/sp_10"
app:tab_icon="@mipmap/ic_main_tab_find"
app:tab_icon_select="@mipmap/ic_main_tab_find_pressed"
app:tab_text="广场"
app:tab_text_color="@color/color_999999"
app:tab_text_color_select="@color/appColor" />
<com.yizhuan.erban.ui.widget.MainTab
android:id="@+id/main_game_tab"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:textSize="10sp"
app:tab_icon="@mipmap/ic_main_tab_peace"
app:tab_icon_select="@mipmap/ic_main_tab_peace_pressed"
app:tab_text="赛事"
app:tab_text_color="@color/color_999999"
app:tab_text_color_select="@color/appColor" />
@@ -35,11 +50,25 @@
android:id="@+id/main_msg_tab"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_gravity="bottom"
android:layout_weight="1"
android:textSize="@dimen/sp_10"
app:tab_icon="@mipmap/ic_main_tab_msg"
app:tab_icon_select="@mipmap/ic_main_tab_msg_pressed"
app:tab_text="消息"
app:tab_text_color="@color/color_999999"
app:tab_text_color_select="@color/appColor" />
<com.yizhuan.erban.ui.widget.MainTab
android:id="@+id/main_me_tab"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_weight="1"
android:textSize="@dimen/sp_10"
app:tab_icon="@mipmap/ic_main_tab_me"
app:tab_icon_select="@mipmap/ic_main_tab_me_pressed"
app:tab_text="我的"
app:tab_text_color="@color/color_999999"
app:tab_text_color_select="@color/appColor" />

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB