| | |
| | | |
| | | import android.os.Bundle; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | | import android.widget.FrameLayout; |
| | | import android.widget.ImageView; |
| | | import android.widget.PopupWindow; |
| | | |
| | | import com.android.app_base.base.view.BaseFragment; |
| | | import androidx.fragment.app.Fragment; |
| | | import androidx.fragment.app.FragmentTransaction; |
| | | import androidx.lifecycle.Observer; |
| | | |
| | | import com.android.app_base.manager.AppManager; |
| | | import com.android.app_base.utils.GlideUtil; |
| | | import com.android.app_base.utils.ScreenSizeUtils; |
| | | import com.application.zhangshi_app_android.BR; |
| | | import com.application.zhangshi_app_android.R; |
| | | import com.application.zhangshi_app_android.bean.BannerBean; |
| | | import com.application.zhangshi_app_android.databinding.FragmentFunctionBinding; |
| | | import com.application.zhangshi_app_android.ui.DLBaseFragment; |
| | | import com.application.zhangshi_app_android.ui.TestActivity; |
| | | import com.application.zhangshi_app_android.ui.home.HomeFragment; |
| | | import com.application.zhangshi_app_android.ui.main.MainActivity; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author Ljj |
| | | * @date 2023.03.15. 20:14 |
| | | * @desc 功能 Fragment |
| | | */ |
| | | public class FunctionFragment extends BaseFragment<FragmentFunctionBinding,FunctionFragmentViewModel> { |
| | | public FunctionFragment() { |
| | | public class FunctionFragment extends DLBaseFragment<FragmentFunctionBinding,FunctionFragmentViewModel> { |
| | | |
| | | private PopupWindow mOperatePopupWindow; |
| | | private ImageCarouselFragment imageCarouselFragment; |
| | | private VideoFragment videoFragment; |
| | | |
| | | private FunctionFragment() { |
| | | } |
| | | |
| | | public static FunctionFragment newInstance() { |
| | |
| | | |
| | | @Override |
| | | protected void initView() { |
| | | binding.layoutHomeRootNet.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | MainActivity.start(getSelfActivity(), HomeFragment.class); |
| | | } |
| | | }); |
| | | binding.layoutFamilyMemorabilia.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View view) { |
| | |
| | | AppManager.getAppManager().startActivity(FamilyAssetsActivity.class); |
| | | } |
| | | }); |
| | | binding.layoutHomeDevices.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View view) { |
| | | AppManager.getAppManager().startActivity(HomeDevicesActivity.class); |
| | | } |
| | | binding.layoutHomeDevices.setOnClickListener(view -> { |
| | | AppManager.getAppManager().startActivity(HomeDevicesActivity.class); |
| | | }); |
| | | binding.layoutGrowingUp.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View view) { |
| | | AppManager.getAppManager().startActivity(GrowthExperienceActivity.class); |
| | | } |
| | | binding.layoutGrowingUp.setOnClickListener(view -> { |
| | | AppManager.getAppManager().startActivity(GrowthExperienceActivity.class); |
| | | }); |
| | | binding.layoutHonorCollection.setOnClickListener(v->{ |
| | | AppManager.getAppManager().startActivity(HonorCollectionActivity.class); |
| | |
| | | binding.layoutMarriage.setOnClickListener(v->{ |
| | | AppManager.getAppManager().startActivity(MarriageActivity.class); |
| | | }); |
| | | } |
| | | binding.layoutHealthCare.setOnClickListener(v->{ |
| | | AppManager.getAppManager().startActivity(HealthCareActivity.class); |
| | | }); |
| | | binding.layoutPrivacy.setOnClickListener(v->{ |
| | | AppManager.getAppManager().startActivity(PrivacyActivity.class); |
| | | }); |
| | | binding.layoutTourism.setOnClickListener(v->{ |
| | | AppManager.getAppManager().startActivity(TourismActivity.class); |
| | | }); |
| | | binding.layoutContacts.setOnClickListener(v->{ |
| | | AppManager.getAppManager().startActivity(ContactsActivity.class); |
| | | }); |
| | | binding.ivOperate.setOnClickListener(v->{ |
| | | AppManager.getAppManager().startActivity(TestActivity.class); |
| | | }); |
| | | |
| | | imageCarouselFragment = ImageCarouselFragment.newInstance(); |
| | | videoFragment = VideoFragment.newInstance(); |
| | | replaceFragment(imageCarouselFragment); |
| | | |
| | | //右上角操作弹窗 |
| | | mOperatePopupWindow = initPopUpWindow(View.inflate(getSelfActivity(),R.layout.pop_switch_video_or_image,null)); |
| | | mOperatePopupWindow.getContentView().findViewById(R.id.tv_image).setOnClickListener(v -> { |
| | | mOperatePopupWindow.dismiss(); |
| | | if (imageCarouselFragment == null){ |
| | | imageCarouselFragment = ImageCarouselFragment.newInstance(); |
| | | } |
| | | replaceFragment(imageCarouselFragment); |
| | | |
| | | }); |
| | | mOperatePopupWindow.getContentView().findViewById(R.id.tv_video).setOnClickListener(v -> { |
| | | mOperatePopupWindow.dismiss(); |
| | | if (videoFragment == null){ |
| | | videoFragment = VideoFragment.newInstance(); |
| | | } |
| | | replaceFragment(videoFragment); |
| | | }); |
| | | //点击弹出操作弹窗 |
| | | binding.ivOperate.setOnClickListener(v -> { |
| | | mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(getSelfActivity(),85) +binding.ivOperate.getWidth(),0); |
| | | }); |
| | | } |
| | | public void replaceFragment(Fragment fragment){ |
| | | FragmentTransaction transaction = getSelfActivity().getSupportFragmentManager().beginTransaction(); |
| | | transaction.replace(R.id.layout_frame,fragment); |
| | | transaction.commit(); |
| | | } |
| | | @Override |
| | | protected void initData() { |
| | | |
| | | viewModel.getBannerData(); |
| | | } |
| | | |
| | | @Override |
| | | protected void initLiveDataObserve() { |
| | | |
| | | viewModel.getBannerListLiveData().observe(this, new Observer<List<BannerBean>>() { |
| | | @Override |
| | | public void onChanged(List<BannerBean> bannerBeans) { |
| | | List<String> imageList = new ArrayList<>(); |
| | | List<String> videoList = new ArrayList<>(); |
| | | for (BannerBean bannerBean : bannerBeans) { |
| | | if (bannerBean.getFlag() == 0){ |
| | | //图片 |
| | | imageList.add(bannerBean.getUrl()); |
| | | }else if (bannerBean.getFlag() == 1){ |
| | | //视频 |
| | | videoList.add(bannerBean.getUrl()); |
| | | } |
| | | } |
| | | imageCarouselFragment.setImageList(imageList); |
| | | videoFragment.setVideoList(videoList); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | @Override |
| | |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | protected void dataNull() { |
| | | super.dataNull(); |
| | | binding.layoutFrame.setVisibility(View.GONE); |
| | | binding.layoutDataNull.setVisibility(View.VISIBLE); |
| | | } |
| | | |
| | | @Override |
| | | protected void hide() { |
| | | super.hide(); |
| | | binding.layoutFrame.setVisibility(View.VISIBLE); |
| | | binding.layoutDataNull.setVisibility(View.GONE); |
| | | } |
| | | } |