diff --git a/.idea/libraries/Gradle__com_google_android_support_v4_r7_jar.xml b/.idea/libraries/Gradle__com_google_android_support_v4_r7_jar.xml new file mode 100644 index 0000000..bf8762f --- /dev/null +++ b/.idea/libraries/Gradle__com_google_android_support_v4_r7_jar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/zhuike/build.gradle b/zhuike/build.gradle index dc3f8ec..3920b85 100644 --- a/zhuike/build.gradle +++ b/zhuike/build.gradle @@ -57,4 +57,5 @@ dependencies { api 'com.github.bumptech.glide:glide:4.6.1' api 'org.xutils:xutils:3.5.0' implementation 'com.google.code.gson:gson:2.8.5' + // implementation 'com.viewpagerindicator:library:2.4.1' } diff --git a/zhuike/src/main/AndroidManifest.xml b/zhuike/src/main/AndroidManifest.xml index 4b72a31..07accbd 100644 --- a/zhuike/src/main/AndroidManifest.xml +++ b/zhuike/src/main/AndroidManifest.xml @@ -18,7 +18,7 @@ + android:theme="@style/ToolBarTheme.NoActionBar" /> diff --git a/zhuike/src/main/java/com/deiniu/zhuike/Fragment_jingxuan.java b/zhuike/src/main/java/com/deiniu/zhuike/Fragment_jingxuan.java index 18a1ec5..f6cdacd 100644 --- a/zhuike/src/main/java/com/deiniu/zhuike/Fragment_jingxuan.java +++ b/zhuike/src/main/java/com/deiniu/zhuike/Fragment_jingxuan.java @@ -4,6 +4,9 @@ import android.content.Context; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentPagerAdapter; +import android.support.v4.view.ViewPager; +import android.util.AttributeSet; import android.util.Log; import android.view.LayoutInflater; import android.view.View; @@ -11,6 +14,7 @@ import android.view.ViewGroup; import android.widget.ImageView; import com.bumptech.glide.Glide; +import com.deiniu.zhuike.utils.MyViewPager; import com.youth.banner.Banner; import com.youth.banner.BannerConfig; import com.youth.banner.Transformer; @@ -18,6 +22,7 @@ import com.youth.banner.listener.OnBannerListener; import com.youth.banner.loader.ImageLoader; import java.util.ArrayList; +import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; @@ -83,7 +88,10 @@ public class Fragment_jingxuan extends BasicFragment implements OnBannerListener View v= inflater.inflate(R.layout.fragment_jingxuan, container, false); ButterKnife.bind(this, v); testBanner(banner,this); - testBanner(banner2,new BannerListioner2()); + // testBanner2(banner2,new BannerListioner2()); + + initTuijianPagers(); + return v; } @@ -95,8 +103,8 @@ public class Fragment_jingxuan extends BasicFragment implements OnBannerListener @BindView(R.id.banner) Banner banner; - @BindView(R.id.banner2) - Banner banner2; + // @BindView(R.id.banner2) + // Banner banner2; private ArrayList list_path; private ArrayList list_title; @@ -151,6 +159,66 @@ public class Fragment_jingxuan extends BasicFragment implements OnBannerListener Glide.with(context).load((String) path).into(imageView); } } + + + + + //cycle viewpagers + + //---------tabs------------- + @BindView(R.id.viewpager_tuijian) + MyViewPager mViewpagerTuijian; + //@BindView(R.id.titleIndictator) + // TitlePageIndicator titleIndicator; + private List mFragments; + ArrayList mList; + String[] mTitle; + void initTuijianPagers() { + + if (mFragments == null || mFragments.size() == 0) { + mTitle = new String[]{"精选", "榜单", "书单"}; + mFragments = new ArrayList<>(); + mFragments.add(new Fragment_jingxuan_tuijian()); + mFragments.add(new Fragment_jingxuan_tuijian()); + mFragments.add(new Fragment_jingxuan_tuijian()); + 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]; + } + }; + mViewpagerTuijian.setAdapter(mAdapter); + + + + + + } + + + + + + + + + } class BannerListioner1 implements OnBannerListener { @@ -165,4 +233,6 @@ class BannerListioner2 implements OnBannerListener { public void OnBannerClick(int position) { Log.i("第二个banner", "你点了第二个banner 第"+position+"张轮播图"); } -} \ No newline at end of file + +} + diff --git a/zhuike/src/main/java/com/deiniu/zhuike/Fragment_jingxuan_tuijian.java b/zhuike/src/main/java/com/deiniu/zhuike/Fragment_jingxuan_tuijian.java new file mode 100644 index 0000000..1bc13dc --- /dev/null +++ b/zhuike/src/main/java/com/deiniu/zhuike/Fragment_jingxuan_tuijian.java @@ -0,0 +1,90 @@ +package com.deiniu.zhuike; + +import android.content.Context; +import android.net.Uri; +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.google.android.gms.plus.PlusOneButton; + +/** + * A fragment with a Google +1 button. + * Activities that contain this fragment must implement the + * {@link Fragment_jingxuan_tuijian.OnFragmentInteractionListener} interface + * to handle interaction events. + * Use the {@link Fragment_jingxuan_tuijian#newInstance} factory method to + * create an instance of this fragment. + */ +public class Fragment_jingxuan_tuijian extends BasicFragment { + // TODO: Rename parameter arguments, choose names that match + // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER + private static final String ARG_PARAM1 = "param1"; + private static final String ARG_PARAM2 = "param2"; + // The request code must be 0 or greater. + private static final int PLUS_ONE_REQUEST_CODE = 0; + // The URL to +1. Must be a valid URL. + private final String PLUS_ONE_URL = "http://developer.android.com"; + // TODO: Rename and change types of parameters + private String mParam1; + private String mParam2; + + + public Fragment_jingxuan_tuijian() { + // Required empty public constructor + } + + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment Fragment_jingxuan_tuijian. + */ + // TODO: Rename and change types and number of parameters + public static Fragment_jingxuan_tuijian newInstance(String param1, String param2) { + Fragment_jingxuan_tuijian fragment = new Fragment_jingxuan_tuijian(); + Bundle args = new Bundle(); + args.putString(ARG_PARAM1, param1); + args.putString(ARG_PARAM2, param2); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mParam1 = getArguments().getString(ARG_PARAM1); + mParam2 = getArguments().getString(ARG_PARAM2); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + View view = inflater.inflate(R.layout.fragment_jingxuan_tuijian, container, false); + + + return view; + } + + @Override + public void onResume() { + super.onResume(); + + + + } + + @Override + public void setFTag() { + TAG="com.deiniu.zhuike.Fragment_jingxuan_tuijian"; + } + + +} diff --git a/zhuike/src/main/java/com/deiniu/zhuike/Main2Activity.java b/zhuike/src/main/java/com/deiniu/zhuike/Main2Activity.java index 192e692..7579a04 100644 --- a/zhuike/src/main/java/com/deiniu/zhuike/Main2Activity.java +++ b/zhuike/src/main/java/com/deiniu/zhuike/Main2Activity.java @@ -147,9 +147,9 @@ public class Main2Activity extends AppCompatActivity //setSupportActionBar(toolbar); // toolbar.setNavigationIcon(R.mipmap.ic_launcher_round);//设置导航栏图标 // toolbar.setLogo(R.mipmap.ic_launcher);//设置app logo - toolbar.setTitle("Title");//设置主标题 - setTitle("title"); - toolbar.setSubtitle("Subtitle");//设置子标题 + // toolbar.setTitle("Title");//设置主标题 + // setTitle("title"); + // toolbar.setSubtitle("Subtitle");//设置子标题 toolbar.inflateMenu(R.menu.main);//设置右上角的填充菜单 toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { diff --git a/zhuike/src/main/java/com/deiniu/zhuike/utils/MyViewPager.java b/zhuike/src/main/java/com/deiniu/zhuike/utils/MyViewPager.java new file mode 100644 index 0000000..670a07b --- /dev/null +++ b/zhuike/src/main/java/com/deiniu/zhuike/utils/MyViewPager.java @@ -0,0 +1,35 @@ +package com.deiniu.zhuike.utils; + +import android.content.Context; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.v4.view.ViewPager; +import android.util.AttributeSet; +import android.view.View; + +public class MyViewPager extends ViewPager { + public MyViewPager(Context context) { + super(context); + } + + public MyViewPager(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + + int height = 0; + for (int i = 0; i < getChildCount(); i++) { + View child = getChildAt(i); + child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); + int h = child.getMeasuredHeight(); + if (h > height) + height = h; + } + + heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY); + + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } +} diff --git a/zhuike/src/main/res/drawable-v21/item_selector.xml b/zhuike/src/main/res/drawable-v21/item_selector.xml new file mode 100644 index 0000000..3fbc40f --- /dev/null +++ b/zhuike/src/main/res/drawable-v21/item_selector.xml @@ -0,0 +1,37 @@ + + + + + + + + + + \ No newline at end of file diff --git a/zhuike/src/main/res/layout/app_bar_main2.xml b/zhuike/src/main/res/layout/app_bar_main2.xml index 21a2163..7d18d72 100644 --- a/zhuike/src/main/res/layout/app_bar_main2.xml +++ b/zhuike/src/main/res/layout/app_bar_main2.xml @@ -42,6 +42,7 @@ android:layout_height="wrap_content" android:layout_gravity="bottom|start" android:layout_margin="@dimen/fab_margin" + android:visibility="gone" app:srcCompat="@android:drawable/ic_dialog_email" /> diff --git a/zhuike/src/main/res/layout/fragment_book_store.xml b/zhuike/src/main/res/layout/fragment_book_store.xml index a518982..7b7d5ff 100644 --- a/zhuike/src/main/res/layout/fragment_book_store.xml +++ b/zhuike/src/main/res/layout/fragment_book_store.xml @@ -6,7 +6,6 @@ android:layout_height="match_parent" tools:context=".Fragment_bookStore"> - + + + + - + + + + - + + + + + + + + + + + + + + + - + diff --git a/zhuike/src/main/res/layout/fragment_jingxuan_cates.xml b/zhuike/src/main/res/layout/fragment_jingxuan_cates.xml new file mode 100644 index 0000000..b2aede2 --- /dev/null +++ b/zhuike/src/main/res/layout/fragment_jingxuan_cates.xml @@ -0,0 +1,148 @@ + + + + + + + + + +. + + + + + +. + + + + + +. + + + + + +. + + + + + + +. + + diff --git a/zhuike/src/main/res/layout/fragment_jingxuan_tuijian.xml b/zhuike/src/main/res/layout/fragment_jingxuan_tuijian.xml new file mode 100644 index 0000000..c4665e6 --- /dev/null +++ b/zhuike/src/main/res/layout/fragment_jingxuan_tuijian.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + . + + + + + + . + + + + + + . + diff --git a/zhuike/src/main/res/layout/item_selector.xml b/zhuike/src/main/res/layout/item_selector.xml new file mode 100644 index 0000000..d58c0ff --- /dev/null +++ b/zhuike/src/main/res/layout/item_selector.xml @@ -0,0 +1,6 @@ + + + + diff --git a/zhuike/src/main/res/values/strings.xml b/zhuike/src/main/res/values/strings.xml index 2308adc..fda88c9 100644 --- a/zhuike/src/main/res/values/strings.xml +++ b/zhuike/src/main/res/values/strings.xml @@ -1,8 +1,8 @@ zhuike - Home - Dashboard - Notifications + 书架 + 书城 + 排行榜 test diff --git a/zhuike/src/main/res/values/testvalues.xml b/zhuike/src/main/res/values/testvalues.xml new file mode 100644 index 0000000..3ea04e7 --- /dev/null +++ b/zhuike/src/main/res/values/testvalues.xml @@ -0,0 +1,2 @@ + + diff --git a/zhuike/zhuike.iml b/zhuike/zhuike.iml index 364acf7..b55679b 100644 --- a/zhuike/zhuike.iml +++ b/zhuike/zhuike.iml @@ -166,6 +166,7 @@ +