196 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			196 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| package com.novelbook.android.Fragments;
 | ||
| 
 | ||
| import android.content.Intent;
 | ||
| import android.os.Bundle;
 | ||
| import android.support.design.widget.BottomSheetDialog;
 | ||
| import android.support.design.widget.FloatingActionButton;
 | ||
| import android.support.v4.app.Fragment;
 | ||
| import android.support.v4.app.FragmentPagerAdapter;
 | ||
| import android.support.v4.view.ViewPager;
 | ||
| import android.util.Log;
 | ||
| import android.view.View;
 | ||
| import android.widget.Button;
 | ||
| 
 | ||
| import com.novelbook.android.Activity_createShudan;
 | ||
| import com.novelbook.android.Activity_shudan_my;
 | ||
| import com.novelbook.android.R;
 | ||
| import com.flyco.tablayout.SlidingTabLayout;
 | ||
| import com.umeng.analytics.MobclickAgent;
 | ||
| 
 | ||
| import java.util.ArrayList;
 | ||
| 
 | ||
| import butterknife.BindView;
 | ||
| 
 | ||
| 
 | ||
| public class Fragment_shudan extends BasicFragment {
 | ||
|     public static final String TAG=Fragment_shudan.class.getSimpleName();
 | ||
| 
 | ||
|     @BindView(R.id.fab)
 | ||
|     FloatingActionButton fab;
 | ||
|     private BottomSheetDialog bottomSheetDialog;
 | ||
|     public Fragment_shudan() {
 | ||
|         // Required empty public constructor
 | ||
|     }
 | ||
| 
 | ||
|     public static Fragment_shudan newInstance(String param1, String param2) {
 | ||
|         Fragment_shudan fragment = new Fragment_shudan();
 | ||
|         Bundle args = new Bundle();
 | ||
| 
 | ||
|         fragment.setArguments(args);
 | ||
|         return fragment;
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     @Override
 | ||
|     protected int getLayoutRes() {
 | ||
|         return R.layout.fragment_shudan;
 | ||
|     }
 | ||
|     protected   void processArguments(){
 | ||
|         if (getArguments() != null) {
 | ||
|             Bundle bundle = getArguments() ;
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         }
 | ||
|     }
 | ||
|     @Override
 | ||
|     protected  void fillData() {
 | ||
|     }
 | ||
|     @Override
 | ||
|     public void initData() {
 | ||
| 
 | ||
| 
 | ||
|     }
 | ||
|     @Override
 | ||
|     public void initViews(){
 | ||
|         initTabs();
 | ||
| 
 | ||
|         fab.setOnClickListener(new View.OnClickListener() {
 | ||
|             @Override
 | ||
|             public void onClick(View view) {
 | ||
|                 showShelfMoreSheet();
 | ||
|             }
 | ||
|         });
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     //---------tabs-------------
 | ||
| 
 | ||
|     @BindView(R.id.viewpager)
 | ||
|     ViewPager mViewpager;
 | ||
|     @BindView(R.id.tab_layout2)
 | ||
|      SlidingTabLayout tabLayout;
 | ||
| 
 | ||
|     private ArrayList<Fragment> mFragments;
 | ||
|     ArrayList<View> mList;
 | ||
|     String[] mTitle;
 | ||
|     void initTabs() {
 | ||
| 
 | ||
|         if(mFragments ==null || mFragments.size() ==0){
 | ||
|             mTitle = new String[]{"最新发布", "本周最热", "最多收藏","小编推荐"};
 | ||
|             mFragments = new ArrayList<>();
 | ||
|             mFragments.add(new Fragment_shudan_list());
 | ||
|             mFragments.add(new Fragment_shudan_list());
 | ||
|             mFragments.add(new Fragment_shudan_list());
 | ||
|             mFragments.add(new Fragment_shudan_list());
 | ||
|             Log.d(TAG,"initial fragments in tabs ");
 | ||
|         }
 | ||
|         Log.d(TAG,"set viewPager adapter ");
 | ||
|         //    FragmentPagerAdapter mAdapter = new FragmentPagerAdapter(activity.getSupportFragmentManager()) {   第一次进入没问题,再次进入ViewPager的fragment时里面内容就没了,数据丢失  https://blog.csdn.net/allan_bst/article/details/64920076
 | ||
|         FragmentPagerAdapter mAdapter = new FragmentPagerAdapter(getChildFragmentManager()) {
 | ||
|             @Override
 | ||
|             public Fragment getItem(int position) {
 | ||
|                 return mFragments.get(position);
 | ||
|             }
 | ||
| 
 | ||
|             @Override
 | ||
|             public int getCount() {
 | ||
|                 return mFragments.size();
 | ||
|             }
 | ||
|             //ViewPager与TabLayout绑定后,这里获取到PageTitle就是Tab的Text
 | ||
|             @Override
 | ||
|             public CharSequence getPageTitle(int position) {
 | ||
|                 return mTitle[position];
 | ||
|             }
 | ||
|         };
 | ||
|         mViewpager.setAdapter(mAdapter);
 | ||
| 
 | ||
| 
 | ||
|         tabLayout.setViewPager(mViewpager);
 | ||
|         // tabLayout.setViewPager(mViewpager, mTitle, activity, mFragments);
 | ||
|           mViewpager.setCurrentItem(0);
 | ||
| 
 | ||
| 
 | ||
|     }
 | ||
| //---------------书单浮动工具栏
 | ||
| 
 | ||
|     /*
 | ||
|     @OnClick({R.id.btnCreateShudan,R.id.btnMyShudan})
 | ||
|     void shudanSubmit(View view) {
 | ||
|         if(view.getId() == R.id.btnCreateShudan)
 | ||
|         {
 | ||
|             //to show newshudan
 | ||
|         }else if(view.getId() == R.id.btnMyShudan)
 | ||
|         {
 | ||
|             //to show myshudan
 | ||
|         }
 | ||
|     }
 | ||
|     */
 | ||
|     public void showShelfMoreSheet() {
 | ||
|           bottomSheetDialog = new BottomSheetDialog(this.activity );
 | ||
|         bottomSheetDialog.setContentView(R.layout.fragment_shudan_bottom_sheet);
 | ||
| //给布局设置透明背景色
 | ||
|         bottomSheetDialog.getDelegate().findViewById(android.support.design.R.id.design_bottom_sheet)
 | ||
|                 .setBackgroundColor(getResources().getColor(android.R.color.transparent));
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|       Button btnCreateShudan =(Button) bottomSheetDialog.findViewById(R.id.btnCreateShudan);
 | ||
|       Button btnMyButton =(Button) bottomSheetDialog.findViewById(R.id.btnMyShudan);
 | ||
|         Button btnCancel =(Button) bottomSheetDialog.findViewById(R.id.btnCancel);
 | ||
|         btnCreateShudan.setOnClickListener(new View.OnClickListener() {
 | ||
|             @Override
 | ||
|             public void onClick(View view) {
 | ||
|                 Intent intent = new Intent(activity, Activity_createShudan.class);
 | ||
|                 intent.putExtra("SHUDANID",0);
 | ||
|                 startActivity(intent);
 | ||
| 
 | ||
|             }
 | ||
|         }); ;
 | ||
| 
 | ||
|         btnMyButton.setOnClickListener(new View.OnClickListener() {
 | ||
|             @Override
 | ||
|             public void onClick(View view) {
 | ||
|                 Intent intent = new Intent(activity, Activity_shudan_my.class);
 | ||
|                 startActivity(intent);
 | ||
| 
 | ||
|             }
 | ||
|         }); ;
 | ||
|         btnCancel.setOnClickListener(new View.OnClickListener() {
 | ||
|             @Override
 | ||
|             public void onClick(View view) {
 | ||
|                bottomSheetDialog.dismiss();
 | ||
|             }
 | ||
|         }); ;
 | ||
|         bottomSheetDialog.show();
 | ||
| 
 | ||
|     }
 | ||
|     @Override
 | ||
|   public  void onResume() {
 | ||
|     super.onResume();
 | ||
|     if(    bottomSheetDialog !=null ){
 | ||
|           bottomSheetDialog.dismiss();
 | ||
|     }
 | ||
|     MobclickAgent.onPageStart(TAG);
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|     @Override
 | ||
|     public void onPause(){
 | ||
|         super.onPause();
 | ||
|         MobclickAgent.onPageEnd(TAG);
 | ||
|     }
 | ||
| }
 |