| | |
| | | import android.content.res.ColorStateList; |
| | | import android.view.KeyEvent; |
| | | import android.view.View; |
| | | |
| | | import androidx.activity.result.ActivityResultLauncher; |
| | | import androidx.activity.result.contract.ActivityResultContracts; |
| | | import androidx.viewpager2.widget.ViewPager2; |
| | | |
| | | import com.google.android.material.bottomnavigation.BottomNavigationView; |
| | | import com.permissionx.guolindev.PermissionX; |
| | | import com.runt.open.mvvm.R; |
| | |
| | | import com.runt.open.mvvm.databinding.ActivityMainBinding; |
| | | import com.runt.open.mvvm.listener.CustomClickListener; |
| | | import com.runt.open.mvvm.listener.ResPonse; |
| | | import com.runt.open.mvvm.ui.SettingActivity; |
| | | import com.runt.open.mvvm.ui.loadpage.PageFragments; |
| | | import com.runt.open.mvvm.ui.login.RegisterLoginActivity; |
| | | import com.runt.open.mvvm.ui.login.UserBean; |
| | | import com.runt.open.mvvm.ui.main.home.HomeFragment; |
| | | import com.runt.open.mvvm.ui.main.mine.MineFragment; |
| | | import com.runt.open.mvvm.ui.main.service.ServiceFragment; |
| | | |
| | |
| | | |
| | | public class MainActivity extends BaseActivity<ActivityMainBinding, MainViewModel> { |
| | | |
| | | private BaseFragment[] fragments = {new HomeFragment(),new ServiceFragment(),new MineFragment()} ; |
| | | private BaseFragment[] fragments = {new PageFragments.HomeFragment(),new ServiceFragment(),new MineFragment()} ; |
| | | ActivityResultLauncher<Intent> loginLaunch = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> { |
| | | if(result.getResultCode() == RESULT_CODE_SUCESS){ |
| | | fragments[2].loadData();//登录后重新刷新 |
| | |
| | | |
| | | @Override |
| | | public void initViews() { |
| | | |
| | | mBinding.titleBar.setRightDra(getResources().getDrawable(R.mipmap.icon_white_setting)); |
| | | mBinding.titleBar.setRightClick(new CustomClickListener() { |
| | | ActivityResultLauncher<Intent> settingLaunch = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> { |
| | | if(result.getResultCode() == RESULT_CODE_SUCESS){//已退出 |
| | | if(mBinding.viewPager2.getCurrentItem() == 2) { |
| | | mBinding.viewPager2.setCurrentItem(0);//设置默认第二页 |
| | | } |
| | | fragments[2].loadData();//登录后重新刷新 |
| | | } |
| | | }); |
| | | titleBarView.setRightClick(new CustomClickListener() { |
| | | @Override |
| | | protected void onSingleClick(View view) { |
| | | //startActivityForResult(new Intent(mContext,SettingActivity.class),REQUEST_CODE_LOGOUT);//打开设置 |
| | | settingLaunch.launch(new Intent(mContext, SettingActivity.class));//打开设置 |
| | | } |
| | | }); |
| | | final FragmentAdapter fragmentAdapter = new FragmentAdapter(this); |
| | |
| | | mBinding.viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() { |
| | | |
| | | @Override |
| | | public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { |
| | | setTitleStr(position); |
| | | } |
| | | |
| | | @Override |
| | | public void onPageSelected(int position) { |
| | | setTitleStr(position); |
| | | mBinding.navView.getMenu().getItem(position).setChecked(true); |
| | | if(position == 2 && UserBean.getUser() == null){ |
| | | loginLaunch.launch(new Intent(mContext, RegisterLoginActivity.class)); |
| | |
| | | private void setTitleStr(int position){ |
| | | switch (position){ |
| | | case 0: |
| | | setTitle("资讯"); |
| | | setTitle("资讯Aljkpqla"); |
| | | break; |
| | | case 1: |
| | | setTitle("服务"); |
| | |
| | | PermissionX.init(MainActivity.this) |
| | | .permissions(Manifest.permission.READ_PHONE_STATE) |
| | | .request((allGranted, grantedList, deniedList) -> { |
| | | if(allGranted){ |
| | | PhoneDevice.setDevice(mContext); |
| | | }else{ |
| | | showPermissionDialog(); |
| | | } |
| | | |
| | | PhoneDevice.setDevice(mContext); |
| | | }); |
| | | } |
| | | } |