左边
package com.bwie.zhangjunjingdong.view.fragment; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.FrameLayout; import android.widget.ListView; import com.bwie.zhangjunjingdong.R; import com.bwie.zhangjunjingdong.model.bean.FenLeiBean; import com.bwie.zhangjunjingdong.model.bean.HomeBean; import com.bwie.zhangjunjingdong.presenter.FragmentHomeP; import com.bwie.zhangjunjingdong.util.ApiUtil; import com.bwie.zhangjunjingdong.util.ChenJinUtil; import com.bwie.zhangjunjingdong.view.Iview.InterFragmentHome; import com.bwie.zhangjunjingdong.view.adapter.FenLeiAdapter; public class FragmentFenLei extends Fragment implements InterFragmentHome { private ListView fen_lei_list_view; private FrameLayout fen_lei_frame; private FragmentHomeP fragmentHomeP; private FenLeiAdapter fenLeiAdapter; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_fen_lei_layout,container,false); fen_lei_list_view = view.findViewById(R.id.fen_lei_list_view); fen_lei_frame = view.findViewById(R.id.fen_lei_frame); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); initChenJin(); fragmentHomeP = new FragmentHomeP(this); fragmentHomeP.getFenLeiData(ApiUtil.FEN_LEI_URL); } @Override public void onSuccess(HomeBean homeBean) { } @Override public void onHiddenChanged(boolean hidden) { super.onHiddenChanged(hidden); if (! hidden) { initChenJin(); } } private void initChenJin() { ChenJinUtil.setStatusBarColor(getActivity(), getResources().getColor(R.color.colorPrimaryDark)); } @Override public void onFenLeiDataSuccess(final FenLeiBean fenLeiBean) { fenLeiAdapter = new FenLeiAdapter(getActivity(), fenLeiBean); fen_lei_list_view.setAdapter(fenLeiAdapter); FragmentFenLeiRight fragmentFenLeiRight = FragmentFenLeiRight.getInstance(fenLeiBean.getData().get(0).getCid()); getChildFragmentManager().beginTransaction().replace(R.id.fen_lei_frame,fragmentFenLeiRight).commit(); fen_lei_list_view.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { fenLeiAdapter.setCurPositon(i); fenLeiAdapter.notifyDataSetChanged(); fen_lei_list_view.smoothScrollToPositionFromTop(i,(adapterView.getHeight()-view.getHeight())/2); FragmentFenLeiRight fragmentFenLeiRight = FragmentFenLeiRight.getInstance(fenLeiBean.getData().get(i).getCid()); getChildFragmentManager().beginTransaction().replace(R.id.fen_lei_frame,fragmentFenLeiRight).commit(); } }); } }
右边
package com.bwie.zhangjunjingdong.view.fragment; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.bwie.zhangjunjingdong.R; import com.bwie.zhangjunjingdong.model.bean.ChildFenLeiBean; import com.bwie.zhangjunjingdong.presenter.FragmentFenLeiRightPresenter; import com.bwie.zhangjunjingdong.util.ApiUtil; import com.bwie.zhangjunjingdong.view.Iview.FenLeiRightInter; import com.bwie.zhangjunjingdong.view.adapter.FenLeiRecyclerOutAdapter; public class FragmentFenLeiRight extends Fragment implements FenLeiRightInter { private RecyclerView fen_lei_recycler_out; private FragmentFenLeiRightPresenter fragmentFenLeiRightPresenter; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_fen_lei_right_layout,container,false); fen_lei_recycler_out = view.findViewById(R.id.fen_lei_recycler_out); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); fragmentFenLeiRightPresenter = new FragmentFenLeiRightPresenter(this); int cid = getArguments().getInt("cid", -1); if (cid != -1) { fragmentFenLeiRightPresenter.getChildData(ApiUtil.CHILD_FEN_LEI_URL,cid); } } public static FragmentFenLeiRight getInstance(int cid) { FragmentFenLeiRight fragmentFenLeiRight = new FragmentFenLeiRight(); Bundle bundle = new Bundle(); bundle.putInt("cid",cid); fragmentFenLeiRight.setArguments(bundle); return fragmentFenLeiRight; } @Override public void getSuccessChildData(ChildFenLeiBean childFenLeiBean) { fen_lei_recycler_out.setLayoutManager(new LinearLayoutManager(getActivity())); FenLeiRecyclerOutAdapter fenLeiRecyclerOutAdapter = new FenLeiRecyclerOutAdapter(getActivity(), childFenLeiBean); fen_lei_recycler_out.setAdapter(fenLeiRecyclerOutAdapter); } }右边适配
FenLeiRecyclerOutAdapter
package com.bwie.zhangjunjingdong.view.adapter; import android.content.Context; import android.content.Intent; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import com.bwie.zhangjunjingdong.R; import com.bwie.zhangjunjingdong.model.bean.ChildFenLeiBean; import com.bwie.zhangjunjingdong.view.Iview.OnItemListner; import com.bwie.zhangjunjingdong.view.activity.ProductListActivity; import com.bwie.zhangjunjingdong.view.hodler.FenLeiRecyclerOutHolder; public class FenLeiRecyclerOutAdapter extends RecyclerView.Adapter<FenLeiRecyclerOutHolder>{ private ChildFenLeiBean childFenLeiBean; private Context context; public FenLeiRecyclerOutAdapter(Context context, ChildFenLeiBean childFenLeiBean) { this.context = context; this.childFenLeiBean = childFenLeiBean; } @Override public FenLeiRecyclerOutHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = View.inflate(context, R.layout.reycler_out_item_layout,null); FenLeiRecyclerOutHolder fenLeiRecyclerOutHolder = new FenLeiRecyclerOutHolder(view); return fenLeiRecyclerOutHolder; } @Override public void onBindViewHolder(FenLeiRecyclerOutHolder holder, int position) { final ChildFenLeiBean.DataBean dataBean = childFenLeiBean.getData().get(position); holder.recycler_out_text.setText(dataBean.getName()); holder.recycler_innner.setLayoutManager(new GridLayoutManager(context,3)); FenRecyclerInnerAdapter fenRecyclerInnerAdapter = new FenRecyclerInnerAdapter(context, dataBean); holder.recycler_innner.setAdapter(fenRecyclerInnerAdapter); fenRecyclerInnerAdapter.setOnItemListner(new OnItemListner() { @Override public void onItemClick(int i) { Intent intent = new Intent(context, ProductListActivity.class); intent.putExtra("keywords",dataBean.getList().get(i).getName()); context.startActivity(intent); } @Override public void onItemLongClick(int i) { } }); } @Override public int getItemCount() { return childFenLeiBean.getData().size(); } }右边的适配
FenRecyclerInnerAdapter
package com.bwie.zhangjunjingdong.view.adapter; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import com.bumptech.glide.Glide; import com.bwie.zhangjunjingdong.R; import com.bwie.zhangjunjingdong.model.bean.ChildFenLeiBean; import com.bwie.zhangjunjingdong.view.Iview.OnItemListner; import com.bwie.zhangjunjingdong.view.hodler.FenRecyclerInnerHolder; public class FenRecyclerInnerAdapter extends RecyclerView.Adapter<FenRecyclerInnerHolder>{ private ChildFenLeiBean.DataBean dataBean; private Context context; private OnItemListner onItemListner; public FenRecyclerInnerAdapter(Context context, ChildFenLeiBean.DataBean dataBean) { this.context = context; this.dataBean = dataBean; } @Override public FenRecyclerInnerHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = View.inflate(context, R.layout.fen_recycler_innner_layout,null); FenRecyclerInnerHolder fenRecyclerInnerHolder = new FenRecyclerInnerHolder(view); return fenRecyclerInnerHolder; } @Override public void onBindViewHolder(FenRecyclerInnerHolder holder, final int position) { ChildFenLeiBean.DataBean.ListBean listBean = dataBean.getList().get(position); holder.recycler_inner_text.setText(listBean.getName()); Glide.with(context).load(listBean.getIcon()).into(holder.recycler_innner_image); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { onItemListner.onItemClick(position); } }); } @Override public int getItemCount() { return dataBean.getList().size(); } public void setOnItemListner(OnItemListner onItemListner) { this.onItemListner = onItemListner; } }
布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="#ffffff" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <include layout="@layout/sao_miao_layout_02"/> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:background="#F3F3F6" android:divider="#F3F3F6" android:dividerHeight="0.1dp" android:id="@+id/fen_lei_list_view" android:scrollbars="none" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent"> </ListView> <FrameLayout android:id="@+id/fen_lei_frame" android:layout_width="0dp" android:layout_weight="3" android:layout_height="match_parent"> </FrameLayout> </LinearLayout> </LinearLayout>
头部
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:gravity="center_vertical" android:padding="10dp" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:orientation="vertical" android:gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:src="@drawable/sao_hei" android:layout_width="20dp" android:layout_height="20dp" /> </LinearLayout> <LinearLayout android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:background="@drawable/white_back_conner_03" android:gravity="center_vertical" android:orientation="horizontal" android:layout_weight="1" android:layout_width="0dp" android:layout_height="30dp"> </LinearLayout> <LinearLayout android:orientation="vertical" android:gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:src="@drawable/a9v" android:layout_width="20dp" android:layout_height="20dp" /> </LinearLayout> </LinearLayout> 右边布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="#F3F3F6" android:padding="10dp" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ScrollView android:scrollbars="none" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:src="@drawable/timg" android:scaleType="fitXY" android:layout_width="match_parent" android:layout_height="100dp" /> <android.support.v7.widget.RecyclerView android:id="@+id/fen_lei_recycler_out" android:layout_width="match_parent" android:layout_height="wrap_content"> </android.support.v7.widget.RecyclerView> </LinearLayout> </ScrollView> </LinearLayout>右边布局
reycler_out_item_layout
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:id="@+id/recycler_out_text" android:layout_width="match_parent" android:layout_height="wrap_content" /> <android.support.v7.widget.RecyclerView android:background="#ffffff" android:id="@+id/recycler_innner" android:layout_width="match_parent" android:layout_height="wrap_content"> </android.support.v7.widget.RecyclerView> </LinearLayout>右边布局
fen_recycler_innner_layout
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_margin="5dp" android:padding="15dp" android:gravity="center_horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <ImageView android:id="@+id/recycler_innner_image" android:layout_width="50dp" android:layout_height="50dp" /> <TextView android:gravity="center" android:id="@+id/recycler_inner_text" android:layout_marginTop="5dp" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>