From dd76d768703d1e288a26e5387824f863c9e6a6bb Mon Sep 17 00:00:00 2001 From: mwang <8205347@qq.com> Date: Thu, 21 Feb 2019 23:56:21 +0800 Subject: [PATCH] update protype --- zhuike/src/main/AndroidManifest.xml | 10 +- .../java/com/deiniu/zhuike/Activity_base.java | 215 ++++++++++++++ .../deiniu/zhuike/Activity_createShudan.java | 232 +++++++++++++++ .../com/deiniu/zhuike/Activity_shudan.java | 162 +--------- .../com/deiniu/zhuike/Activity_shudan_my.java | 29 ++ .../java/com/deiniu/zhuike/BasicFragment.java | 13 +- .../java/com/deiniu/zhuike/BookActivity.java | 24 +- .../com/deiniu/zhuike/Fragment_Shelf.java | 280 +++++++++++++++++- .../com/deiniu/zhuike/Fragment_bangdan.java | 190 +----------- .../com/deiniu/zhuike/Fragment_paihang.java | 78 ++--- .../com/deiniu/zhuike/Fragment_shudan.java | 74 ++++- .../java/com/deiniu/zhuike/Main2Activity.java | 43 ++- .../com/deiniu/zhuike/activity_cates.java | 1 + .../deiniu/zhuike/utils/BandanAdapter.java | 206 +++++++++++++ .../deiniu/zhuike/utils/BookListAdapter.java | 20 -- zhuike/src/main/res/layout/activity_book.xml | 3 +- .../main/res/layout/activity_cate_books.xml | 6 +- zhuike/src/main/res/layout/activity_cates.xml | 6 +- .../res/layout/activity_create_shudan.xml | 24 ++ .../main/res/layout/activity_paihangbang.xml | 6 +- .../src/main/res/layout/activity_shudan.xml | 6 +- .../main/res/layout/activity_shudan_my.xml | 32 ++ .../layout/content_activity_cate_books.xml | 4 +- .../res/layout/content_activity_cates.xml | 4 +- .../layout/content_activity_create_shudan.xml | 125 ++++++++ .../layout/content_activity_paihangbang.xml | 4 +- .../res/layout/content_activity_shudan.xml | 5 +- .../res/layout/content_activity_shudan_my.xml | 37 +++ zhuike/src/main/res/layout/content_book.xml | 5 +- .../res/layout/fragment_fragment__shelf.xml | 67 ++++- .../res/layout/fragment_fragment_booklist.xml | 2 +- .../layout/fragment_fragment_shudan_list.xml | 2 +- .../res/layout/fragment_shelf_more_sheet.xml | 68 +++-- .../layout/fragment_shelf_zhengli_sheet.xml | 21 ++ .../src/main/res/layout/fragment_shudan.xml | 2 +- .../layout/fragment_shudan_bottom_sheet.xml | 48 +++ zhuike/src/main/res/layout/realcontent.xml | 4 +- .../src/main/res/layout/recycle_list_item.xml | 18 +- .../res/layout/recycle_list_item_horizon.xml | 1 + .../recycle_list_item_horizon_with_delete.xml | 72 +++++ zhuike/src/main/res/menu/main.xml | 6 + zhuike/src/main/res/menu/menu_book.xml | 6 +- .../src/main/res/menu/menu_create_shudan.xml | 14 + zhuike/src/main/res/values/dimens.xml | 4 + zhuike/src/main/res/values/strings.xml | 7 + zhuike/src/main/res/values/styles.xml | 49 ++- 46 files changed, 1730 insertions(+), 505 deletions(-) create mode 100644 zhuike/src/main/java/com/deiniu/zhuike/Activity_base.java create mode 100644 zhuike/src/main/java/com/deiniu/zhuike/Activity_createShudan.java create mode 100644 zhuike/src/main/java/com/deiniu/zhuike/Activity_shudan_my.java create mode 100644 zhuike/src/main/java/com/deiniu/zhuike/utils/BandanAdapter.java delete mode 100644 zhuike/src/main/java/com/deiniu/zhuike/utils/BookListAdapter.java create mode 100644 zhuike/src/main/res/layout/activity_create_shudan.xml create mode 100644 zhuike/src/main/res/layout/activity_shudan_my.xml create mode 100644 zhuike/src/main/res/layout/content_activity_create_shudan.xml create mode 100644 zhuike/src/main/res/layout/content_activity_shudan_my.xml create mode 100644 zhuike/src/main/res/layout/fragment_shelf_zhengli_sheet.xml create mode 100644 zhuike/src/main/res/layout/fragment_shudan_bottom_sheet.xml create mode 100644 zhuike/src/main/res/layout/recycle_list_item_horizon_with_delete.xml create mode 100644 zhuike/src/main/res/menu/menu_create_shudan.xml diff --git a/zhuike/src/main/AndroidManifest.xml b/zhuike/src/main/AndroidManifest.xml index e8deb69..104aea9 100644 --- a/zhuike/src/main/AndroidManifest.xml +++ b/zhuike/src/main/AndroidManifest.xml @@ -1,7 +1,6 @@ - @@ -15,6 +14,15 @@ android:supportsRtl="true" android:theme="@style/ToolBarTheme" android:usesCleartextTraffic="true"> + + mDatas; + BookListAdapter mAdapter; + @BindView(R.id.recycleViewBookList) + RecyclerView rvshudan; + void showBook(String bookName) { //show paihangbang activity + Intent intent = new Intent(this, BookActivity.class); + intent.putExtra("BOOKNAME",bookName); + startActivity(intent); + } + void initData() { + + mDatas = new ArrayList(); + for (int i = 'A'; i <'K'; i++) + { + mDatas.add("小说" + (char) i); + } + } + void initialAdapter(){ + mAdapter = new BookListAdapter(this ,mDatas,R.layout.recycle_list_item_horizon,new OnItemClickListener() + { + + @Override + public void onItemClick(View view, int position) + { + showBook("射雕" +position); + + } + + @Override + public void onItemLongClick(View view, int position) + { + // initDialog(position); + // mAdapter.removeData(position); + } + @Override + public void onLinearOutClick(View view, int bookId) { + // Toast.makeText(activity, "book "+ bookId + " clicked", Toast.LENGTH_SHORT).show(); + + // showBookDetail( mData.get(bookId)); + } + }); + + } + void initialBookList() { + initData(); + initialAdapter(); + rvshudan.setLayoutManager(new LinearLayoutManager(this)); + rvshudan.setAdapter(mAdapter); + + + } + + + + + + + + + + + + + + + + class MyViewHolder extends RecyclerView.ViewHolder { + @BindView(R.id.title) + TextView tvTitle; + @BindView(R.id.author) + TextView tvAuthor; + @BindView(R.id.category) + TextView tvCate; + @BindView(R.id.desc) + TextView tvDesc; + + @Nullable + @BindView(R.id.btnItemDelete) + Button btnDelete; + + public MyViewHolder(View view) { + super(view); + ButterKnife.bind(this, view); + //tvTitle = (TextView) view.findViewById(R.id.title); + // tvAuthor = (TextView) view.findViewById(R.id.author); + + } + } + class BookListAdapter extends RecyclerView.Adapter { + private final int EMPTY_VIEW = 1; + private final int PROGRESS_VIEW = 2; + private final int IMAGE_VIEW = 3; + + private Context context; + private List mDatas = new ArrayList(); + private OnItemClickListener mOnItemClickListener; + private int listItemID; + + public BookListAdapter(Context context, List mDatas, int listItemID, OnItemClickListener clicklistener) { + this.context = context; + this.mDatas = mDatas; + this.mOnItemClickListener = clicklistener; + this.listItemID = listItemID; + } + + public BookListAdapter(Context context, OnItemClickListener clickLitener) { + this.context = context; + this.mOnItemClickListener = clickLitener; + + } + + @Override + public int getItemViewType(int position) { + if (mDatas.size() == 0) { + return EMPTY_VIEW; + } else if (mDatas.get(position) == null) { + return PROGRESS_VIEW; + } else { + return super.getItemViewType(position); + } + } + + @Override + public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + MyViewHolder holder = new MyViewHolder(LayoutInflater.from( + context).inflate(listItemID, parent, + false)); + return holder; + } + + + public void setParameters(List mDatas, int listItemID) { + this.mDatas = mDatas; + this.listItemID = listItemID; + } + + public void setOnItemClickLitener(OnItemClickListener mOnItemClickListener) { + this.mOnItemClickListener = mOnItemClickListener; + } + + @Override + public void onBindViewHolder(MyViewHolder holder, int position) { + + holder.tvTitle.setText(mDatas.get(position)); + holder.tvAuthor.setText("金庸" + position); + holder.tvCate.setText("cate" + position); + holder.tvDesc.setText("this is desc " + position); + + + // 如果设置了回调,则设置点击事件 + if (mOnItemClickListener != null) { + holder.itemView.setOnClickListener(new View.OnClickListener() //show more cate paihang + { + @Override + public void onClick(View v) { + int pos = holder.getLayoutPosition(); + mOnItemClickListener.onItemClick(holder.itemView, pos); + } + }); + + holder.itemView.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + int pos = holder.getLayoutPosition(); + mOnItemClickListener.onItemLongClick(holder.itemView, pos); + return false; + } + }); + + + } + } + + @Override + public int getItemCount() { + return mDatas.size(); + } + + public void addData(int position) { + mDatas.add(position, "Insert One"); + notifyItemInserted(position); + } + + public void removeData(int position) { + mDatas.remove(position); + notifyItemRemoved(position); + notifyDataSetChanged(); + } + + } + +} diff --git a/zhuike/src/main/java/com/deiniu/zhuike/Activity_createShudan.java b/zhuike/src/main/java/com/deiniu/zhuike/Activity_createShudan.java new file mode 100644 index 0000000..b62a8d2 --- /dev/null +++ b/zhuike/src/main/java/com/deiniu/zhuike/Activity_createShudan.java @@ -0,0 +1,232 @@ +package com.deiniu.zhuike; + +import android.app.SearchManager; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.support.design.widget.FloatingActionButton; +import android.support.design.widget.Snackbar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.SearchView; +import android.support.v7.widget.Toolbar; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Toast; + +import com.deiniu.zhuike.utils.OnItemClickListener; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; +import butterknife.ButterKnife; + + + +public class Activity_createShudan extends Activity_base { + + @BindView(R.id.toolbar) + Toolbar toolbar ; + BookListAdapter mAdapter; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_create_shudan); + ButterKnife.bind(this); + setupToolbar(); + setTitle("创建书单"); + + initialBookList(); + + + } + void initialBookList() { + initData(); + initialAdapter(); + rvshudan.setLayoutManager(new LinearLayoutManager(this)); + rvshudan.setAdapter(mAdapter); + } + + void initialAdapter(){ + mAdapter = new BookListAdapter(this ,mDatas,R.layout.recycle_list_item_horizon_with_delete,new OnItemClickListener() + { + + @Override + public void onItemClick(View view, int position) + { + setCover(); + + } + + @Override + public void onItemLongClick(View view, int position) + { + // initDialog(position); + // mAdapter.removeData(position); + } + @Override + public void onLinearOutClick(View view, int bookId) { + // Toast.makeText(activity, "book "+ bookId + " clicked", Toast.LENGTH_SHORT).show(); + + // showBookDetail( mData.get(bookId)); + } + }); + + } + + private void setCover() { + Toast.makeText(this,"封面设定",Toast.LENGTH_LONG).show(); + } + + + void setupToolbar(){ + setSupportActionBar(toolbar); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + toolbar.inflateMenu(R.menu.menu_create_shudan);//设置右上角的填充菜单 + toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem item) { + int menuItemId = item.getItemId(); + if (menuItemId == R.id.mnSave) { + + saveShudan(); + + + }else if(menuItemId == R.id.mnPublish) { + publishShudan(); + } + return true; + } + }); + } + + private void saveShudan() { + } + private void publishShudan() { + } + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_create_shudan, menu); + + return true; + } + + class BookListAdapter extends RecyclerView.Adapter { + private final int EMPTY_VIEW = 1; + private final int PROGRESS_VIEW = 2; + private final int IMAGE_VIEW = 3; + + private Context context; + private List mDatas = new ArrayList(); + private OnItemClickListener mOnItemClickListener; + private int listItemID; + + public BookListAdapter(Context context, List mDatas, int listItemID, OnItemClickListener clicklistener) { + this.context = context; + this.mDatas = mDatas; + this.mOnItemClickListener = clicklistener; + this.listItemID = listItemID; + } + + public BookListAdapter(Context context, OnItemClickListener clickLitener) { + this.context = context; + this.mOnItemClickListener = clickLitener; + + } + + @Override + public int getItemViewType(int position) { + if (mDatas.size() == 0) { + return EMPTY_VIEW; + } else if (mDatas.get(position) == null) { + return PROGRESS_VIEW; + } else { + return super.getItemViewType(position); + } + } + + @Override + public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + MyViewHolder holder = new MyViewHolder(LayoutInflater.from( + context).inflate(listItemID, parent, + false)); + return holder; + } + + + public void setParameters(List mDatas, int listItemID) { + this.mDatas = mDatas; + this.listItemID = listItemID; + } + + public void setOnItemClickLitener(OnItemClickListener mOnItemClickListener) { + this.mOnItemClickListener = mOnItemClickListener; + } + + @Override + public void onBindViewHolder(MyViewHolder holder, int position) { + + holder.tvTitle.setText(mDatas.get(position)); + holder.tvAuthor.setText("金庸" + position); + holder.tvCate.setText("cate" + position); + holder.tvDesc.setText("this is desc " + position); + + + // 如果设置了回调,则设置点击事件 + if (mOnItemClickListener != null) { + holder.itemView.setOnClickListener(new View.OnClickListener() //show more cate paihang + { + @Override + public void onClick(View v) { + int pos = holder.getLayoutPosition(); + mOnItemClickListener.onItemClick(holder.itemView, pos); + } + }); + + holder.itemView.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + int pos = holder.getLayoutPosition(); + mOnItemClickListener.onItemLongClick(holder.itemView, pos); + return false; + } + }); + holder.btnDelete.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + int pos = holder.getLayoutPosition(); + removeData(pos); + } + }); + + + + + } + } + + @Override + public int getItemCount() { + return mDatas.size(); + } + + public void addData(int position) { + mDatas.add(position, "Insert One"); + notifyItemInserted(position); + } + + public void removeData(int position) { + mDatas.remove(position); + notifyItemRemoved(position); + notifyDataSetChanged(); + } + + } +} diff --git a/zhuike/src/main/java/com/deiniu/zhuike/Activity_shudan.java b/zhuike/src/main/java/com/deiniu/zhuike/Activity_shudan.java index b32e92d..7d035c1 100644 --- a/zhuike/src/main/java/com/deiniu/zhuike/Activity_shudan.java +++ b/zhuike/src/main/java/com/deiniu/zhuike/Activity_shudan.java @@ -24,7 +24,7 @@ import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; -public class Activity_shudan extends AppCompatActivity { +public class Activity_shudan extends Activity_base { @Override protected void onCreate(Bundle savedInstanceState) { @@ -37,30 +37,7 @@ public class Activity_shudan extends AppCompatActivity { ButterKnife.bind(this); String title = getIntent().getStringExtra("CATENAME"); this.setTitle(title); - initData(); - mAdapter = new BookListAdapter(this ,mDatas,R.layout.recycle_list_item_horizon,new OnItemClickListener() - { - @Override - public void onItemClick(View view, int position) - { - showBook("射雕" +position); - - } - - @Override - public void onItemLongClick(View view, int position) - { - // initDialog(position); - // mAdapter.removeData(position); - } - @Override - public void onLinearOutClick(View view, int bookId) { - // Toast.makeText(activity, "book "+ bookId + " clicked", Toast.LENGTH_SHORT).show(); - - // showBookDetail( mData.get(bookId)); - } - }); initialBookList(); @@ -68,149 +45,12 @@ public class Activity_shudan extends AppCompatActivity { //------------------------列表绑定------------ - private BookListAdapter mAdapter; - - @BindView(R.id.recycleViewBookList) - RecyclerView rvshudan; - List mDatas; - private void initData() { - - mDatas = new ArrayList(); - for (int i = 'A'; i <'K'; i++) - { - mDatas.add("小说" + (char) i); - } - } - void initialBookList() { - rvshudan.setLayoutManager(new LinearLayoutManager(this)); - rvshudan.setAdapter(mAdapter); - } - class MyViewHolder extends RecyclerView.ViewHolder { - @BindView(R.id.title) - TextView tvTitle; - @BindView(R.id.author) - TextView tvAuthor; - @BindView(R.id.category) - TextView tvCate; - @BindView(R.id.desc) - TextView tvDesc; - - - public MyViewHolder(View view) { - super(view); - ButterKnife.bind(this, view); - //tvTitle = (TextView) view.findViewById(R.id.title); - // tvAuthor = (TextView) view.findViewById(R.id.author); - - } - } - void showBook(String bookName) { //show paihangbang activity - Intent intent = new Intent(this, BookActivity.class); - intent.putExtra("BOOKNAME",bookName); - startActivity(intent); - } - - class BookListAdapter extends RecyclerView.Adapter { - private final int EMPTY_VIEW = 1; - private final int PROGRESS_VIEW = 2; - private final int IMAGE_VIEW = 3; - - private Context context; - private List mDatas = new ArrayList(); - private OnItemClickListener mOnItemClickListener; - private int listItemID; - - public BookListAdapter(Context context, List mDatas, int listItemID, OnItemClickListener clicklistener) { - this.context = context; - this.mDatas = mDatas; - this.mOnItemClickListener = clicklistener; - this.listItemID = listItemID; - } - - public BookListAdapter(Context context, OnItemClickListener clickLitener) { - this.context = context; - this.mOnItemClickListener = clickLitener; - - } - - @Override - public int getItemViewType(int position) { - if (mDatas.size() == 0) { - return EMPTY_VIEW; - } else if (mDatas.get(position) == null) { - return PROGRESS_VIEW; - } else { - return super.getItemViewType(position); - } - } - - @Override - public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - MyViewHolder holder = new MyViewHolder(LayoutInflater.from( - context).inflate(listItemID, parent, - false)); - return holder; - } - public void setParameters(List mDatas, int listItemID) { - this.mDatas = mDatas; - this.listItemID = listItemID; - } - - public void setOnItemClickLitener(OnItemClickListener mOnItemClickListener) { - this.mOnItemClickListener = mOnItemClickListener; - } - - @Override - public void onBindViewHolder(MyViewHolder holder, int position) { - - holder.tvTitle.setText(mDatas.get(position)); - holder.tvAuthor.setText("金庸" + position); - holder.tvCate.setText("cate" + position); - holder.tvDesc.setText("this is desc " + position); - // 如果设置了回调,则设置点击事件 - if (mOnItemClickListener != null) { - holder.itemView.setOnClickListener(new View.OnClickListener() //show more cate paihang - { - @Override - public void onClick(View v) { - int pos = holder.getLayoutPosition(); - mOnItemClickListener.onItemClick(holder.itemView, pos); - } - }); - - holder.itemView.setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View v) { - int pos = holder.getLayoutPosition(); - mOnItemClickListener.onItemLongClick(holder.itemView, pos); - return false; - } - }); - } - } - - @Override - public int getItemCount() { - return mDatas.size(); - } - - public void addData(int position) { - mDatas.add(position, "Insert One"); - notifyItemInserted(position); - } - - public void removeData(int position) { - mDatas.remove(position); - notifyItemRemoved(position); - } - - } } diff --git a/zhuike/src/main/java/com/deiniu/zhuike/Activity_shudan_my.java b/zhuike/src/main/java/com/deiniu/zhuike/Activity_shudan_my.java new file mode 100644 index 0000000..a21c9a4 --- /dev/null +++ b/zhuike/src/main/java/com/deiniu/zhuike/Activity_shudan_my.java @@ -0,0 +1,29 @@ +package com.deiniu.zhuike; + +import android.os.Bundle; +import android.support.design.widget.FloatingActionButton; +import android.support.design.widget.Snackbar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.view.View; + +public class Activity_shudan_my extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_shudan_my); + Toolbar toolbar = findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + FloatingActionButton fab = findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + } + }); + } + +} diff --git a/zhuike/src/main/java/com/deiniu/zhuike/BasicFragment.java b/zhuike/src/main/java/com/deiniu/zhuike/BasicFragment.java index c4abe8b..2454bb2 100644 --- a/zhuike/src/main/java/com/deiniu/zhuike/BasicFragment.java +++ b/zhuike/src/main/java/com/deiniu/zhuike/BasicFragment.java @@ -6,6 +6,7 @@ import android.content.Intent; import android.content.res.Resources; import android.net.Uri; import android.os.Bundle; +import android.support.annotation.Nullable; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; @@ -17,6 +18,7 @@ import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; @@ -159,9 +161,9 @@ public abstract class BasicFragment extends Fragment { public void onBindViewHolder(MyViewHolder holder, int position) { holder.tvTitle.setText(mDatas.get(position)); - holder.tvAuthor.setText("金庸" +position); - holder.tvCate.setText("cate"+position); - holder.tvDesc.setText("this is desc " +position); + if(holder.tvAuthor!=null) holder.tvAuthor.setText("金庸" +position); + if(holder.tvCate!=null) holder.tvCate.setText("cate"+position); + if(holder.tvDesc!=null) holder.tvDesc.setText("this is desc " +position); // 如果设置了回调,则设置点击事件 if (mOnItemClickListener != null) { @@ -204,12 +206,17 @@ public abstract class BasicFragment extends Fragment { } class MyViewHolder extends RecyclerView.ViewHolder { + @BindView(R.id.imageView) + ImageView imageView; @BindView(R.id.title) TextView tvTitle; + @Nullable @BindView(R.id.author) TextView tvAuthor; + @Nullable @BindView(R.id.category) TextView tvCate; + @Nullable @BindView(R.id.desc) TextView tvDesc; public MyViewHolder(View view) diff --git a/zhuike/src/main/java/com/deiniu/zhuike/BookActivity.java b/zhuike/src/main/java/com/deiniu/zhuike/BookActivity.java index 7a42634..cf39e5e 100644 --- a/zhuike/src/main/java/com/deiniu/zhuike/BookActivity.java +++ b/zhuike/src/main/java/com/deiniu/zhuike/BookActivity.java @@ -8,6 +8,7 @@ import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; @@ -25,6 +26,8 @@ public class BookActivity extends AppCompatActivity { // private BookListAdapter mAdapter; private List mData;; + @BindView(R.id.toolbar) + Toolbar toolbar; @BindView(R.id.rvBooklist) RecyclerView rvBooklist; // @BindView(R.id.blurLayout) @@ -35,9 +38,8 @@ public class BookActivity extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_book); ButterKnife.bind(this); - Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); - setSupportActionBar(toolbar); - getSupportActionBar().setDisplayHomeAsUpEnabled(true); + setupToolbar(); + String title = getIntent().getStringExtra("BOOKNAME"); this.setTitle(title); mData =initData(mData,'D'); @@ -73,6 +75,22 @@ public class BookActivity extends AppCompatActivity { */ } + void setupToolbar(){ + setSupportActionBar(toolbar); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + toolbar.inflateMenu(R.menu.menu_book);//设置右上角的填充菜单 + toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem item) { + int menuItemId = item.getItemId(); + if (menuItemId == R.id.menuShelf) { + + + } + return true; + } + }); + } private void showBookDetail(String s) { Intent intent = new Intent(this, BookActivity.class); intent.putExtra("BOOKNAME",s); diff --git a/zhuike/src/main/java/com/deiniu/zhuike/Fragment_Shelf.java b/zhuike/src/main/java/com/deiniu/zhuike/Fragment_Shelf.java index 73f710c..72eadfc 100644 --- a/zhuike/src/main/java/com/deiniu/zhuike/Fragment_Shelf.java +++ b/zhuike/src/main/java/com/deiniu/zhuike/Fragment_Shelf.java @@ -3,6 +3,7 @@ package com.deiniu.zhuike; import android.content.Context; import android.net.Uri; import android.os.Bundle; +import android.support.annotation.Nullable; import android.support.design.widget.BottomSheetDialog; import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; @@ -13,6 +14,11 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.CompoundButton; +import android.widget.ImageView; +import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; @@ -24,6 +30,7 @@ import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; +import butterknife.OnClick; /** * A fragment with a Google +1 button. @@ -48,8 +55,13 @@ public class Fragment_Shelf extends BasicFragment { // TODO: Rename and change types of parameters private String mParam1; private String mParam2; + private boolean[] flag ;//此处添加一个boolean类型的数组 + private boolean isSelectAll =true; + + @BindView(R.id.llShelfBottom) + LinearLayout llShelfBottom; + - private OnFragmentInteractionListener mListener; public Fragment_Shelf() { // Required empty public constructor @@ -135,18 +147,23 @@ public class Fragment_Shelf extends BasicFragment { // mRecyclerView.setLayoutManager(new LinearLayoutManager(this.activity)); mRecyclerView.setLayoutManager(new GridLayoutManager(activity,3)); mRecyclerView.setAdapter(mAdapter ); + llShelfBottom.setVisibility(View.GONE); } protected void initData() - { + { flag = new boolean[100]; mDatas = new ArrayList(); for (int i = 'A'; i < 'G'; i++) { mDatas.add("射雕" + (char) i); + flag[i] =false; } + + } + public void showShelfMoreSheet() { BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(this.activity ); bottomSheetDialog.setContentView(R.layout.fragment_shelf_more_sheet); @@ -154,6 +171,14 @@ public class Fragment_Shelf extends BasicFragment { bottomSheetDialog.getDelegate().findViewById(android.support.design.R.id.design_bottom_sheet) .setBackgroundColor(getResources().getColor(android.R.color.transparent)); + Button btnZhengli = bottomSheetDialog.findViewById(R.id.btnZhengli); + btnZhengli.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + bottomSheetDialog.dismiss(); + initZhengliDialog(); + } + }); bottomSheetDialog.show(); @@ -172,7 +197,90 @@ public class Fragment_Shelf extends BasicFragment { bottomSheetDialog.show(); } + @BindView(R.id.btnDelete) + Button btnDelete; + @BindView(R.id.btnSelect) + Button btnSelectAll; + @OnClick({R.id.btnSelect,R.id.btnDelete}) + void shelfZhengliSubmit(View view){ + if(view.getId()== R.id.btnSelect) { + + if(isSelectAll) { + btnSelectAll.setText("全不选"); + + }else + { + btnSelectAll.setText("全选"); + } + for (int i = 0; i < flag.length; i++) { + flag[i] = isSelectAll; + } + isSelectAll =!isSelectAll; + mChkAdapter.notifyDataSetChanged(); + }else if(view.getId()== R.id.btnDelete){ + for (int i = 0; i < mDatas.size(); i++) { + if(flag[i] ){ + mDatas.remove(i); + } + } + mChkAdapter.notifyDataSetChanged(); + } + + } + + + private void initZhengliDialog( ) { + zhengliShelf(); + llShelfBottom.setVisibility(View.VISIBLE); + Main2Activity main2Activity = (Main2Activity)activity; + main2Activity.switchShelfZhengli(false); + + + /* + BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(this.activity); + bottomSheetDialog.setContentView(R.layout.fragment_shelf_zhengli_sheet); +//给布局设置透明背景色 + bottomSheetDialog.getDelegate().findViewById(android.support.design.R.id.design_bottom_sheet) + .setBackgroundColor(getResources().getColor(android.R.color.transparent)); + Button btnSelectAll = bottomSheetDialog.findViewById(R.id.btnSelect); + btnSelectAll.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + + isSelectAll =!isSelectAll; + if(isSelectAll) { + btnSelectAll.setText("全选"); + + }else + { + btnSelectAll.setText("全不选"); + } + for (int i = 0; i < flag.length; i++) { + flag[i] = isSelectAll; + } + mChkAdapter.notifyDataSetChanged(); + } + }); + + Button btnDel = bottomSheetDialog.findViewById(R.id.btnDelete); + btnDel.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + + for (int i = 0; i < mDatas.size(); i++) { + if(flag[i] ){ + mDatas.remove(i); + } + } + mChkAdapter.notifyDataSetChanged(); + } + }); + + bottomSheetDialog.show(); + + */ + } @Override public void onResume() { @@ -189,5 +297,173 @@ public class Fragment_Shelf extends BasicFragment { TAG="com.deiniu.zhuike.Fragment_Shelf"; } + CheckAdapter mChkAdapter; + void zhengliShelf(){ + mChkAdapter = new CheckAdapter(activity,mDatas,R.layout.recycle_list_item,new OnItemClickListener() + { + + @Override + public void onItemClick(View view, int position) + { + + } + + @Override + public void onItemLongClick(View view, int position) + { + + } + + @Override + public void onLinearOutClick(View view, int bookId) { + + } + }); + mRecyclerView.setLayoutManager(new GridLayoutManager(activity,3)); + mRecyclerView.setAdapter(mChkAdapter ); + + } + + + //--------------------整理 adapter--------------- + + class CheckAdapter extends RecyclerView.Adapter { + private final int EMPTY_VIEW = 1; + private final int PROGRESS_VIEW = 2; + private final int IMAGE_VIEW = 3; + + private Context context; + private List mDatas = new ArrayList(); + private OnItemClickListener mOnItemClickListener; + private int listItemID; + public CheckAdapter(Context context,List mDatas,int listItemID,OnItemClickListener clickLitener) { + this.context = context; + this.mDatas = mDatas; + this.mOnItemClickListener = clickLitener; + this.listItemID = listItemID; + } + public CheckAdapter(Context context, OnItemClickListener clickLitener) { + this.context = context; + this.mOnItemClickListener = clickLitener; + + } + + @Override + public int getItemViewType(int position) { + if(mDatas.size() == 0){ + return EMPTY_VIEW; + } else if(mDatas.get(position) == null){ + return PROGRESS_VIEW; + } else { + return super.getItemViewType(position); + } + } + + @Override + public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) + { + MyViewHolder holder = new MyViewHolder(LayoutInflater.from( + context).inflate(listItemID, parent, + false)); + return holder; + } + + + + public void setParameters(List mDatas,int listItemID ) { + this.mDatas = mDatas; + this.listItemID = listItemID; + } + + public void setOnItemClickLitener(OnItemClickListener mOnItemClickLitener) + { + this.mOnItemClickListener = mOnItemClickLitener; + } + + @Override + public void onBindViewHolder(MyViewHolder holder, int position) + { + + holder.tvTitle.setText(mDatas.get(position)); + if(holder.tvAuthor!=null) holder.tvAuthor.setText("金庸" +position); + if(holder.tvCate!=null) holder.tvCate.setText("cate"+position); + if(holder.tvDesc!=null) holder.tvDesc.setText("this is desc " +position); + if(holder.checkBox!=null) holder.checkBox.setVisibility(View.VISIBLE); + // 如果设置了回调,则设置点击事件 + if (mOnItemClickListener != null) + { + holder.itemView.setOnClickListener(new View.OnClickListener() + { + @Override + public void onClick(View v) + { + + } + }); + + holder.itemView.setOnLongClickListener(new View.OnLongClickListener() + { + @Override + public boolean onLongClick(View v) + { + return false; + } + }); + + holder.checkBox.setOnCheckedChangeListener(null);//先设置一次CheckBox的选中监听器,传入参数null + holder.checkBox.setChecked(flag[position]);//用数组中的值设置CheckBox的选中状态 + + //再设置一次CheckBox的选中监听器,当CheckBox的选中状态发生改变时,把改变后的状态储存在数组中 + holder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean b) { + flag[position] = b; + } + }); + + } + } + + @Override + public int getItemCount() + { + return mDatas.size(); + } + public void addData(int position) { + mDatas.add(position, "Insert One"); + notifyItemInserted(position); + } + + public void removeData(int position) { + mDatas.remove(position); + notifyItemRemoved(position); + } + class MyViewHolder extends RecyclerView.ViewHolder + { + @BindView(R.id.id_check_box) + CheckBox checkBox; + @BindView(R.id.imageView) + ImageView imageView; + @BindView(R.id.title) + TextView tvTitle; + @Nullable + @BindView(R.id.author) + TextView tvAuthor; + @Nullable + @BindView(R.id.category) + TextView tvCate; + @Nullable + @BindView(R.id.desc) + TextView tvDesc; + public MyViewHolder(View view) + { + super(view); + ButterKnife.bind(this, view); + //tvTitle = (TextView) view.findViewById(R.id.title); + // tvAuthor = (TextView) view.findViewById(R.id.author); + + } + } + } } diff --git a/zhuike/src/main/java/com/deiniu/zhuike/Fragment_bangdan.java b/zhuike/src/main/java/com/deiniu/zhuike/Fragment_bangdan.java index 40404a7..6808115 100644 --- a/zhuike/src/main/java/com/deiniu/zhuike/Fragment_bangdan.java +++ b/zhuike/src/main/java/com/deiniu/zhuike/Fragment_bangdan.java @@ -14,6 +14,7 @@ import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; +import com.deiniu.zhuike.utils.BandanAdapter; import com.deiniu.zhuike.utils.OnItemClickListener; import java.util.ArrayList; @@ -76,7 +77,7 @@ public class Fragment_bangdan extends BasicFragment { mParam2 = getArguments().getString(ARG_PARAM2); } initData(); - mAdapter = new MyListAdapter(activity ,mData,R.layout.recycle_list_item_bangdan,new OnItemClickListener() + mAdapter = new BandanAdapter(activity ,mData,R.layout.recycle_list_item_bangdan,new OnItemClickListener() { @Override @@ -103,7 +104,7 @@ public class Fragment_bangdan extends BasicFragment { //------------------------列表绑定------------ - private MyListAdapter mAdapter; + private BandanAdapter mAdapter; private List mData; @BindView(R.id.rvBangdan) RecyclerView rvBandan; @@ -136,192 +137,7 @@ public class Fragment_bangdan extends BasicFragment { } - class MyListAdapter extends RecyclerView.Adapter { - private final int EMPTY_VIEW = 1; - private final int PROGRESS_VIEW = 2; - private final int IMAGE_VIEW = 3; - private Context context; - private List mDatas = new ArrayList(); - private OnItemClickListener mOnItemClickLitener; - private int listItemID; - public MyListAdapter(Context context,List mDatas,int listItemID,OnItemClickListener clickLitener) { - this.context = context; - this.mDatas = mDatas; - this.mOnItemClickLitener = clickLitener; - this.listItemID = listItemID; - } - public MyListAdapter(Context context, OnItemClickListener clickLitener) { - this.context = context; - this.mOnItemClickLitener = clickLitener; - - } - - @Override - public int getItemViewType(int position) { - if(mDatas.size() == 0){ - return EMPTY_VIEW; - } else if(mDatas.get(position) == null){ - return PROGRESS_VIEW; - } else { - return super.getItemViewType(position); - } - } - - @Override - public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) - { - MyViewHolder holder = new MyViewHolder(LayoutInflater.from( - context).inflate(listItemID, parent, - false)); - return holder; - } - - - - public void setParameters(List mDatas,int listItemID ) { - this.mDatas = mDatas; - this.listItemID = listItemID; - } - - public void setOnItemClickLitener(OnItemClickListener mOnItemClickLitener) - { - this.mOnItemClickLitener = mOnItemClickLitener; - } - - @Override - public void onBindViewHolder(MyViewHolder holder, int position) - { - holder.tvCateName .setText("分类名称" +position); - holder.tvTitle.setText(mDatas.get(position)); - holder.tvAuthor.setText("作者" +position); - holder.tvCate.setText("cate"+position); - holder.tvDesc.setText("this is desc " +position); - - holder.tvTitle2.setText(mDatas.get(position) +1); - holder.tvAuthor2.setText("作者2" +position); - holder.tvCate2.setText("cate2"+position); - holder.tvDesc2.setText("this is desc2 " +position); - - holder.tvTitle3.setText(mDatas.get(position)+2); - holder.tvAuthor3.setText("作者3" +position); - holder.tvCate3.setText("cate3-"+position); - holder.tvDesc3.setText("this is desc3- " +position); - - // 如果设置了回调,则设置点击事件 - if (mOnItemClickLitener != null) - { - holder.itemView.setOnClickListener(new View.OnClickListener() //show more cate paihang - { - @Override - public void onClick(View v) - { - int pos = holder.getLayoutPosition(); - mOnItemClickLitener.onItemClick(holder.itemView, pos); - } - }); - - holder.itemView.setOnLongClickListener(new View.OnLongClickListener() - { - @Override - public boolean onLongClick(View v) - { - int pos = holder.getLayoutPosition(); - mOnItemClickLitener.onItemLongClick(holder.itemView, pos); - return false; - } - }); - - - holder.ll1.setOnClickListener(new View.OnClickListener() { //show bookdetail - @Override - public void onClick(View v) - { - int pos = position; - mOnItemClickLitener.onLinearOutClick(holder.itemView, pos); - } - }); - - holder.ll2.setOnClickListener(new View.OnClickListener() { //show bookdetail - @Override - public void onClick(View v) - { - int pos = position; - mOnItemClickLitener.onLinearOutClick(holder.itemView, pos); - } - }); - - holder.ll3.setOnClickListener(new View.OnClickListener() { //show bookdetail - @Override - public void onClick(View v) - { - int pos = position; - mOnItemClickLitener.onLinearOutClick(holder.itemView, pos); - } - }); - - } - } - - @Override - public int getItemCount() - { - return mDatas.size(); - } - public void addData(int position) { - mDatas.add(position, "Insert One"); - notifyItemInserted(position); - } - - public void removeData(int position) { - mDatas.remove(position); - notifyItemRemoved(position); - } - class MyViewHolder extends RecyclerView.ViewHolder - { - @BindView(R.id.title) - TextView tvTitle; - @BindView(R.id.author) - TextView tvAuthor; - @BindView(R.id.category) - TextView tvCate; - @BindView(R.id.desc) - TextView tvDesc; - @BindView(R.id.title2) - TextView tvTitle2; - @BindView(R.id.author2) - TextView tvAuthor2; - @BindView(R.id.category2) - TextView tvCate2; - @BindView(R.id.desc2) - TextView tvDesc2; - @BindView(R.id.title3) - TextView tvTitle3; - @BindView(R.id.author3) - TextView tvAuthor3; - @BindView(R.id.category3) - TextView tvCate3; - @BindView(R.id.desc3) - TextView tvDesc3; - @BindView(R.id.tvCateName) - TextView tvCateName; - @BindView(R.id.ll1) - LinearLayout ll1; - @BindView(R.id.ll2) - LinearLayout ll2; - @BindView(R.id.ll3) - LinearLayout ll3; - - public MyViewHolder(View view) - { - super(view); - ButterKnife.bind(this, view); - //tvTitle = (TextView) view.findViewById(R.id.title); - // tvAuthor = (TextView) view.findViewById(R.id.author); - - } - } - } } diff --git a/zhuike/src/main/java/com/deiniu/zhuike/Fragment_paihang.java b/zhuike/src/main/java/com/deiniu/zhuike/Fragment_paihang.java index 7b4fd72..1479e1a 100644 --- a/zhuike/src/main/java/com/deiniu/zhuike/Fragment_paihang.java +++ b/zhuike/src/main/java/com/deiniu/zhuike/Fragment_paihang.java @@ -82,6 +82,41 @@ public class Fragment_paihang extends BasicFragment { mParam2 = getArguments().getString(ARG_PARAM2); } initData(); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + View view = inflater.inflate(R.layout.fragment_fragment_paihang, container, false); + + ButterKnife.bind(this, view); + // if (mData1 == null) + { + + initTabs(); + initialBookList(); + setScrollListner(); + } + return view; + } + + + private ArrayList mData1,mData2,mData3 ; + private int tab1Pos,tab2Pos,tab3Pos; + void initData(){ + mData =initData(mData,'Z'); + mData1= new ArrayList<>(); + mData2 = new ArrayList<>(); + mData3 = new ArrayList<>(); + mData1.add(new TabEntry("男A",0,0) ); + mData1.add(new TabEntry("女A",0,0)); + for (int i = 'A'; i < 'I'; i++) + { + mData2.add(new TabEntry("类" + (char) i,0,0) ); + if(i<'D') + mData3.add(new TabEntry("榜" + (char) i,0,0) ); + } mAdapter = new BookListAdapter(activity, mData, R.layout.recycle_list_item_shudan, new OnItemClickListener() { @Override @@ -102,38 +137,6 @@ public class Fragment_paihang extends BasicFragment { } }); } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - // Inflate the layout for this fragment - View view = inflater.inflate(R.layout.fragment_fragment_paihang, container, false); - - ButterKnife.bind(this, view); - initTabs(); - initialBookList(); - setScrollListner(); - return view; - } - - - private ArrayList mData1,mData2,mData3 ; - private int tab1Pos,tab2Pos,tab3Pos; - void initData(){ - mData =initData(mData,'Z'); - mData1= new ArrayList<>(); - mData2 = new ArrayList<>(); - mData3 = new ArrayList<>(); - mData1.add(new TabEntry("男生",0,0) ); - mData1.add(new TabEntry("女生",0,0)); - for (int i = 'A'; i < 'I'; i++) - { - mData2.add(new TabEntry("类" + (char) i,0,0) ); - if(i<'D') - mData3.add(new TabEntry("榜" + (char) i,0,0) ); - } - - } class TabEntry implements CustomTabEntity{ public String title; @@ -170,6 +173,10 @@ public class Fragment_paihang extends BasicFragment { CommonTabLayout tabLayout3; private void initTabs() { + + + + tabLayout1.setTabData(mData1); tabLayout1.setOnTabSelectListener(new OnTabSelectListener() { @Override @@ -258,6 +265,8 @@ public class Fragment_paihang extends BasicFragment { LinearLayout llTabs; @BindView(R.id.tvHint) TextView tvHint; + + private boolean isShowHint =false; void setScrollListner(){ llTabs.measure(0,0); @@ -270,7 +279,7 @@ public class Fragment_paihang extends BasicFragment { // float scale = 0; @Override public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { - + isShowHint = scrollY > height; if (scrollY <= height) { // scale = (float) scrollY / height; // alpha = (int) (255 * scale); @@ -300,7 +309,8 @@ public class Fragment_paihang extends BasicFragment { @Override public void onResume() { super.onResume(); - + //mNestedScrollView.smoothScrollBy(1,1); + tvHint.setVisibility(isShowHint? View.VISIBLE:View.GONE); } diff --git a/zhuike/src/main/java/com/deiniu/zhuike/Fragment_shudan.java b/zhuike/src/main/java/com/deiniu/zhuike/Fragment_shudan.java index f838fe8..03f1f32 100644 --- a/zhuike/src/main/java/com/deiniu/zhuike/Fragment_shudan.java +++ b/zhuike/src/main/java/com/deiniu/zhuike/Fragment_shudan.java @@ -1,8 +1,10 @@ package com.deiniu.zhuike; import android.content.Context; +import android.content.Intent; import android.net.Uri; import android.os.Bundle; +import android.support.design.widget.BottomSheetDialog; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.design.widget.TabLayout; @@ -13,6 +15,7 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.Button; import android.widget.Toast; import com.flyco.tablayout.SlidingTabLayout; @@ -22,6 +25,7 @@ import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; +import butterknife.OnClick; /** @@ -38,12 +42,11 @@ public class Fragment_shudan extends BasicFragment { private static final String ARG_PARAM1 = "param1"; private static final String ARG_PARAM2 = "param2"; - // TODO: Rename and change types of parameters private String mParam1; private String mParam2; - - private OnFragmentInteractionListener mListener; - + @BindView(R.id.fab) + FloatingActionButton fab; + private BottomSheetDialog bottomSheetDialog; public Fragment_shudan() { // Required empty public constructor } @@ -89,7 +92,7 @@ public class Fragment_shudan extends BasicFragment { fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - Toast.makeText(getContext(),"。。。。。。",Toast.LENGTH_LONG).show(); + showShelfMoreSheet(); } }); return v; @@ -101,8 +104,7 @@ public class Fragment_shudan extends BasicFragment { } //---------tabs------------- - @BindView(R.id.fab) - FloatingActionButton fab; + @BindView(R.id.viewpager) ViewPager mViewpager; @BindView(R.id.tab_layout2) @@ -149,6 +151,64 @@ public class Fragment_shudan extends BasicFragment { } +//---------------书单浮动工具栏 + + /* + @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_createShudan.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(); + } + } } diff --git a/zhuike/src/main/java/com/deiniu/zhuike/Main2Activity.java b/zhuike/src/main/java/com/deiniu/zhuike/Main2Activity.java index 363fcdd..db1c101 100644 --- a/zhuike/src/main/java/com/deiniu/zhuike/Main2Activity.java +++ b/zhuike/src/main/java/com/deiniu/zhuike/Main2Activity.java @@ -157,11 +157,18 @@ public class Main2Activity extends AppCompatActivity }else if(menuItemId == R.id.menuMore) { showShelfMoreSheet(); } + else if(menuItemId == R.id.menuFinshi) { + udateShelfZhengli(); + } return true; } }); } + private void udateShelfZhengli() { + switchShelfZhengli(true); + } + Fragment_Shelf fragment_shelf; private void showShelfMoreSheet() { { @@ -311,10 +318,18 @@ private int bottomSelectedIndex; public boolean onPrepareOptionsMenu(Menu menu) { Log.e(TAG, "onPrepareOptionsMenu"); + menu.findItem(R.id.menuFinshi).setVisible(false); // menu.findItem(R.id.menuSearch).setVisible(true); if(bottomSelectedIndex==0) { - menu.findItem(R.id.menuFenlei).setVisible(false); - menu.findItem(R.id.menuMore).setVisible(true); + menu.findItem(R.id.menuFinshi).setVisible(isShelfZhengli); + if(isShelfZhengli){ + menu.findItem(R.id.menuFenlei).setVisible(false); + menu.findItem(R.id.menuMore).setVisible(false); + menu.findItem(R.id.menuSearch).setVisible(false); + }else { + menu.findItem(R.id.menuFenlei).setVisible(false); + menu.findItem(R.id.menuMore).setVisible(true); + } }else if(bottomSelectedIndex==1) { @@ -362,7 +377,7 @@ private int bottomSelectedIndex; Fragment_paihang fragment = (Fragment_paihang) getSupportFragmentManager() .findFragmentByTag(Fragment_paihang.getFTag()); if(fragment ==null) fragment =new Fragment_paihang(); - showFragment(fragment ,Fragment_other.getFTag()); + showFragment(fragment ,Fragment_paihang.getFTag()); swithToolbarItems( ); } @@ -452,11 +467,33 @@ private int bottomSelectedIndex; super.onResume(); // swithToolbarItems( ); // setTitle("title on resume"); + } + public void hideBottomNavi(){ + botoomNavigation.setVisibility(View.GONE); + } + boolean isShelfZhengli =false; + public void switchShelfZhengli(boolean finished){ + + + if(finished) { + isShelfZhengli = false; + swithToolbarItems(); + botoomNavigation.setVisibility(View.VISIBLE); + fragment_shelf.initReceyleView(); + + }else { + toggle.setDrawerIndicatorEnabled(false); + toggle.syncState(); + supportInvalidateOptionsMenu(); + isShelfZhengli = true; + botoomNavigation.setVisibility(View.GONE); + } + } diff --git a/zhuike/src/main/java/com/deiniu/zhuike/activity_cates.java b/zhuike/src/main/java/com/deiniu/zhuike/activity_cates.java index 07c1307..c57e751 100644 --- a/zhuike/src/main/java/com/deiniu/zhuike/activity_cates.java +++ b/zhuike/src/main/java/com/deiniu/zhuike/activity_cates.java @@ -27,6 +27,7 @@ public class activity_cates extends AppCompatActivity { RecyclerView mRecyclerView; private List mDatas; private BookListAdapter mAdapter; + //@BindView(R.id.textTile) //TextView tvTitle; @Override diff --git a/zhuike/src/main/java/com/deiniu/zhuike/utils/BandanAdapter.java b/zhuike/src/main/java/com/deiniu/zhuike/utils/BandanAdapter.java new file mode 100644 index 0000000..ebd0bcf --- /dev/null +++ b/zhuike/src/main/java/com/deiniu/zhuike/utils/BandanAdapter.java @@ -0,0 +1,206 @@ +package com.deiniu.zhuike.utils; + +import android.content.Context; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; +import android.widget.TextView; + +import com.deiniu.zhuike.BasicFragment; +import com.deiniu.zhuike.Fragment_bangdan; +import com.deiniu.zhuike.R; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; +import butterknife.ButterKnife; + + public class BandanAdapter extends RecyclerView.Adapter { + private final int EMPTY_VIEW = 1; + private final int PROGRESS_VIEW = 2; + private final int IMAGE_VIEW = 3; + + private Context context; + private List mDatas = new ArrayList(); + private OnItemClickListener mOnItemClickLitener; + private int listItemID; + public BandanAdapter(Context context,List mDatas,int listItemID,OnItemClickListener clickLitener) { + this.context = context; + this.mDatas = mDatas; + this.mOnItemClickLitener = clickLitener; + this.listItemID = listItemID; + } + public BandanAdapter(Context context, OnItemClickListener clickLitener) { + this.context = context; + this.mOnItemClickLitener = clickLitener; + + } + + @Override + public int getItemViewType(int position) { + if(mDatas.size() == 0){ + return EMPTY_VIEW; + } else if(mDatas.get(position) == null){ + return PROGRESS_VIEW; + } else { + return super.getItemViewType(position); + } + } + + @Override + public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) + { + MyViewHolder holder = new MyViewHolder(LayoutInflater.from( + context).inflate(listItemID, parent, + false)); + return holder; + } + + + + public void setParameters(List mDatas,int listItemID ) { + this.mDatas = mDatas; + this.listItemID = listItemID; + } + + public void setOnItemClickLitener(OnItemClickListener mOnItemClickLitener) + { + this.mOnItemClickLitener = mOnItemClickLitener; + } + + @Override + public void onBindViewHolder(MyViewHolder holder, int position) + { + holder.tvCateName .setText("分类名称" +position); + holder.tvTitle.setText(mDatas.get(position)); + holder.tvAuthor.setText("作者" +position); + holder.tvCate.setText("cate"+position); + holder.tvDesc.setText("this is desc " +position); + + holder.tvTitle2.setText(mDatas.get(position) +1); + holder.tvAuthor2.setText("作者2" +position); + holder.tvCate2.setText("cate2"+position); + holder.tvDesc2.setText("this is desc2 " +position); + + holder.tvTitle3.setText(mDatas.get(position)+2); + holder.tvAuthor3.setText("作者3" +position); + holder.tvCate3.setText("cate3-"+position); + holder.tvDesc3.setText("this is desc3- " +position); + + // 如果设置了回调,则设置点击事件 + if (mOnItemClickLitener != null) + { + holder.itemView.setOnClickListener(new View.OnClickListener() //show more cate paihang + { + @Override + public void onClick(View v) + { + int pos = holder.getLayoutPosition(); + mOnItemClickLitener.onItemClick(holder.itemView, pos); + } + }); + + holder.itemView.setOnLongClickListener(new View.OnLongClickListener() + { + @Override + public boolean onLongClick(View v) + { + int pos = holder.getLayoutPosition(); + mOnItemClickLitener.onItemLongClick(holder.itemView, pos); + return false; + } + }); + + + holder.ll1.setOnClickListener(new View.OnClickListener() { //show bookdetail + @Override + public void onClick(View v) + { + int pos = position; + mOnItemClickLitener.onLinearOutClick(holder.itemView, pos); + } + }); + + holder.ll2.setOnClickListener(new View.OnClickListener() { //show bookdetail + @Override + public void onClick(View v) + { + int pos = position; + mOnItemClickLitener.onLinearOutClick(holder.itemView, pos); + } + }); + + holder.ll3.setOnClickListener(new View.OnClickListener() { //show bookdetail + @Override + public void onClick(View v) + { + int pos = position; + mOnItemClickLitener.onLinearOutClick(holder.itemView, pos); + } + }); + + } + } + + @Override + public int getItemCount() + { + return mDatas.size(); + } + public void addData(int position) { + mDatas.add(position, "Insert One"); + notifyItemInserted(position); + } + + public void removeData(int position) { + mDatas.remove(position); + notifyItemRemoved(position); + } + class MyViewHolder extends RecyclerView.ViewHolder + { + @BindView(R.id.title) + TextView tvTitle; + @BindView(R.id.author) + TextView tvAuthor; + @BindView(R.id.category) + TextView tvCate; + @BindView(R.id.desc) + TextView tvDesc; + @BindView(R.id.title2) + TextView tvTitle2; + @BindView(R.id.author2) + TextView tvAuthor2; + @BindView(R.id.category2) + TextView tvCate2; + @BindView(R.id.desc2) + TextView tvDesc2; + @BindView(R.id.title3) + TextView tvTitle3; + @BindView(R.id.author3) + TextView tvAuthor3; + @BindView(R.id.category3) + TextView tvCate3; + @BindView(R.id.desc3) + TextView tvDesc3; + @BindView(R.id.tvCateName) + TextView tvCateName; + @BindView(R.id.ll1) + LinearLayout ll1; + @BindView(R.id.ll2) + LinearLayout ll2; + @BindView(R.id.ll3) + LinearLayout ll3; + + public MyViewHolder(View view) + { + super(view); + ButterKnife.bind(this, view); + //tvTitle = (TextView) view.findViewById(R.id.title); + // tvAuthor = (TextView) view.findViewById(R.id.author); + + } + } +} \ No newline at end of file diff --git a/zhuike/src/main/java/com/deiniu/zhuike/utils/BookListAdapter.java b/zhuike/src/main/java/com/deiniu/zhuike/utils/BookListAdapter.java deleted file mode 100644 index 45f9eee..0000000 --- a/zhuike/src/main/java/com/deiniu/zhuike/utils/BookListAdapter.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.deiniu.zhuike.utils; - -import android.content.Context; -import android.support.v7.widget.RecyclerView; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.LinearLayout; -import android.widget.TextView; - -import com.deiniu.zhuike.BasicFragment; -import com.deiniu.zhuike.Fragment_bangdan; -import com.deiniu.zhuike.R; - -import java.util.ArrayList; -import java.util.List; - -import butterknife.BindView; -import butterknife.ButterKnife; - diff --git a/zhuike/src/main/res/layout/activity_book.xml b/zhuike/src/main/res/layout/activity_book.xml index e8c6e53..c681dce 100644 --- a/zhuike/src/main/res/layout/activity_book.xml +++ b/zhuike/src/main/res/layout/activity_book.xml @@ -3,10 +3,11 @@ 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:layout_width="match_parent" android:layout_height="match_parent" + android:layout_width="match_parent" android:orientation="vertical" tools:context=".BookActivity" + > + style="@style/barLayout"> + style="@style/barLayout"> + + + + + + + + + + + + \ No newline at end of file diff --git a/zhuike/src/main/res/layout/activity_paihangbang.xml b/zhuike/src/main/res/layout/activity_paihangbang.xml index 07ff6e2..8837e8f 100644 --- a/zhuike/src/main/res/layout/activity_paihangbang.xml +++ b/zhuike/src/main/res/layout/activity_paihangbang.xml @@ -10,11 +10,7 @@ > + style="@style/barLayout"> + style="@style/barLayout"> + + + + + + + + + + + + + \ No newline at end of file diff --git a/zhuike/src/main/res/layout/content_activity_cate_books.xml b/zhuike/src/main/res/layout/content_activity_cate_books.xml index 585e5fb..5933f5d 100644 --- a/zhuike/src/main/res/layout/content_activity_cate_books.xml +++ b/zhuike/src/main/res/layout/content_activity_cate_books.xml @@ -2,8 +2,8 @@ diff --git a/zhuike/src/main/res/layout/content_activity_create_shudan.xml b/zhuike/src/main/res/layout/content_activity_create_shudan.xml new file mode 100644 index 0000000..5630823 --- /dev/null +++ b/zhuike/src/main/res/layout/content_activity_create_shudan.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + +