Skip to content

Commit ec2fc0e

Browse files
committed
NestedScroll
NestedScroll &传统滑动的例子
1 parent 7c88c69 commit ec2fc0e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+2044
-17
lines changed

app/build.gradle

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -69,19 +69,19 @@ android {
6969
}
7070

7171
//修改APK生成名字 通过android.applicationVariants索引来遍历所有的 build variant
72-
applicationVariants.all { variant ->
73-
variant.outputs.each { output ->
74-
75-
def timeNow = getDate()
76-
def newName
77-
if (variant.buildType.name.equals('debug')) {
78-
newName = "android-" + timeNow + "_v${variant.versionName}-debug.apk"
79-
} else {
80-
newName = "android_${variant.flavorName}_" + timeNow + "_v${variant.versionName}_${variant.buildType.name}.apk"
81-
}
82-
output.outputFile = new File(output.outputFile.parent, newName)
83-
}
84-
}
72+
// applicationVariants.all { variant ->
73+
// variant.outputs.each { output ->
74+
//
75+
// def timeNow = getDate()
76+
// def newName
77+
// if (variant.buildType.name.equals('debug')) {
78+
// newName = "android-" + timeNow + "_v${variant.versionName}-debug.apk"
79+
// } else {
80+
// newName = "android_${variant.flavorName}_" + timeNow + "_v${variant.versionName}_${variant.buildType.name}.apk"
81+
// }
82+
// output.outputFile = new File(output.outputFile.parent, newName)
83+
// }
84+
// }
8585
// externalNativeBuild {
8686
// cmake {
8787
// path 'CMakeLists.txt'

app/src/main/AndroidManifest.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,26 @@
105105
<service
106106
android:name=".multiThread.intentService.MyIntentService"
107107
android:screenOrientation="portrait" />
108+
109+
<activity
110+
android:name=".NestedScroll.NestedScrollingActivity"
111+
android:label="@string/title_activity_nested_scrolling"
112+
android:theme="@style/AppTheme" />
113+
<activity
114+
android:name=".NestedScroll.tradition.ScrollListViewActivity"
115+
android:screenOrientation="portrait" />
116+
<activity
117+
android:name=".NestedScroll.NavigationActivity"
118+
android:screenOrientation="portrait" />
119+
<activity
120+
android:name=".NestedScroll.tradition.ScrollViewPagerActivity"
121+
android:screenOrientation="portrait" />
122+
<activity
123+
android:name=".NestedScroll.nested.CoordinatorLayoutToolbarActivity"
124+
android:screenOrientation="portrait" />
125+
<activity
126+
android:name=".NestedScroll.nested.NestedScrollActivity"
127+
android:screenOrientation="portrait" />
108128
</application>
109129

110130
</manifest>

app/src/main/java/org/ninetripods/mq/study/MainActivity.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
import org.ninetripods.mq.study.util.fragment.HomeFragment;
1616
import org.ninetripods.mq.study.util.fragment.MultiThreadFragment;
17+
import org.ninetripods.mq.study.util.fragment.NestedScrollFragment;
1718
import org.ninetripods.mq.study.util.fragment.PopFragment;
1819
import org.ninetripods.mq.study.util.fragment.ProcessFragment;
1920
import org.ninetripods.mq.study.util.fragment.RecycleFragment;
@@ -41,7 +42,7 @@ public void initViews() {
4142
navigationView = (NavigationView) findViewById(R.id.navigation_view);
4243
ActionBarDrawerToggle drawerToggle = new ActionBarDrawerToggle(this, drawer_layout, toolbar, 0, 0);
4344
drawerToggle.syncState();
44-
selectItem(4);
45+
selectItem(5);
4546
}
4647

4748
@Override
@@ -65,6 +66,9 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) {
6566
case R.id.my_navigation_4:
6667
selectItem(4);
6768
break;
69+
case R.id.my_navigation_5:
70+
selectItem(5);
71+
break;
6872
}
6973
drawer_layout.closeDrawer(GravityCompat.START);
7074
return true;
@@ -114,6 +118,9 @@ private Fragment getFragment(int pos) {
114118
case 4:
115119
currentFragment = new MultiThreadFragment();
116120
break;
121+
case 5:
122+
currentFragment = new NestedScrollFragment();
123+
break;
117124
default:
118125
currentFragment = new HomeFragment();
119126
break;
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package org.ninetripods.mq.study.NestedScroll;
2+
3+
import android.view.View;
4+
5+
import org.ninetripods.mq.study.BaseActivity;
6+
import org.ninetripods.mq.study.R;
7+
8+
public class NavigationActivity extends BaseActivity {
9+
10+
@Override
11+
public void setContentView() {
12+
setContentView(R.layout.activity_navigation);
13+
}
14+
15+
@Override
16+
public void initViews() {
17+
super.initViews();
18+
}
19+
20+
@Override
21+
public void initEvents() {
22+
super.initEvents();
23+
}
24+
25+
/**
26+
* ScrollView+ListView
27+
*
28+
* @param view View
29+
*/
30+
public void go2SL(View view) {
31+
32+
}
33+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package org.ninetripods.mq.study.NestedScroll;
2+
3+
import android.os.Bundle;
4+
import android.support.design.widget.FloatingActionButton;
5+
import android.support.design.widget.Snackbar;
6+
import android.support.v7.app.AppCompatActivity;
7+
import android.support.v7.widget.Toolbar;
8+
import android.view.View;
9+
10+
import org.ninetripods.mq.study.R;
11+
12+
public class NestedScrollingActivity extends AppCompatActivity {
13+
14+
@Override
15+
protected void onCreate(Bundle savedInstanceState) {
16+
super.onCreate(savedInstanceState);
17+
setContentView(R.layout.activity_nested_scrolling);
18+
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
19+
setSupportActionBar(toolbar);
20+
21+
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
22+
fab.setOnClickListener(new View.OnClickListener() {
23+
@Override
24+
public void onClick(View view) {
25+
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
26+
.setAction("Action", null).show();
27+
}
28+
});
29+
}
30+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package org.ninetripods.mq.study.NestedScroll.nested;
2+
3+
import android.support.v4.view.ViewPager;
4+
import android.support.v7.widget.LinearLayoutManager;
5+
import android.support.v7.widget.RecyclerView;
6+
import android.support.v7.widget.Toolbar;
7+
8+
import org.ninetripods.mq.study.BaseActivity;
9+
import org.ninetripods.mq.study.NestedScroll.util.adapter.MyFragmentPagerAdapter;
10+
import org.ninetripods.mq.study.NestedScroll.util.adapter.ZJBaseRecyclerAdapter;
11+
import org.ninetripods.mq.study.NestedScroll.util.adapter.ZJViewHolder;
12+
import org.ninetripods.mq.study.NestedScroll.util.view.OnMeasureListView;
13+
import org.ninetripods.mq.study.R;
14+
15+
import java.util.Arrays;
16+
import java.util.List;
17+
18+
public class CoordinatorLayoutToolbarActivity extends BaseActivity {
19+
private ViewPager view_pager;
20+
private MyFragmentPagerAdapter pagerAdapter;
21+
private OnMeasureListView list_view;
22+
private RecyclerView recycle_view;
23+
private String[] data = {"Apple", "Banana", "Orange", "Watermelon",
24+
"Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango", "Banana", "Orange", "Watermelon",
25+
"Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango", "Banana", "Orange", "Watermelon",
26+
"Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango", "Banana", "Orange", "Watermelon",
27+
"Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango"};
28+
29+
@Override
30+
public void setContentView() {
31+
setContentView(R.layout.activity_coordinator_layout_toolbar);
32+
}
33+
34+
@Override
35+
public void initViews() {
36+
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
37+
initToolBar(toolbar, "CoordinatorLayout+Toolbar", false);
38+
39+
recycle_view = (RecyclerView) findViewById(R.id.recycle_view);
40+
recycle_view.setLayoutManager(new LinearLayoutManager(this));
41+
final List<String> stringList = Arrays.asList(data);
42+
recycle_view.setAdapter(new ZJBaseRecyclerAdapter(stringList, android.R.layout.simple_list_item_1, null) {
43+
@Override
44+
protected void onBindViewHolder(ZJViewHolder holder, Object model, int position) {
45+
holder.setText(android.R.id.text1, stringList.get(position));
46+
}
47+
});
48+
// list_view = (OnMeasureListView) findViewById(R.id.list_view);
49+
// ArrayAdapter<String> adapter = new ArrayAdapter<>(
50+
// this, android.R.layout.simple_list_item_1, data);
51+
// list_view.setAdapter(adapter);
52+
}
53+
54+
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package org.ninetripods.mq.study.NestedScroll.nested;
2+
3+
import android.support.v4.app.Fragment;
4+
import android.support.v4.app.FragmentPagerAdapter;
5+
import android.support.v4.view.ViewPager;
6+
7+
import org.ninetripods.mq.study.BaseActivity;
8+
import org.ninetripods.mq.study.NestedScroll.util.view.ItemFragment;
9+
import org.ninetripods.mq.study.NestedScroll.util.view.SimpleViewPagerIndicator;
10+
import org.ninetripods.mq.study.R;
11+
12+
public class NestedScrollActivity extends BaseActivity {
13+
private String[] mTitles = new String[]{"英雄", "简介", "功能"};
14+
private SimpleViewPagerIndicator mIndicator;
15+
private ViewPager mViewPager;
16+
private FragmentPagerAdapter mAdapter;
17+
private ItemFragment[] mFragments = new ItemFragment[mTitles.length];
18+
19+
@Override
20+
public void setContentView() {
21+
setContentView(R.layout.activity_nested);
22+
}
23+
24+
@Override
25+
public void initViews() {
26+
mIndicator = (SimpleViewPagerIndicator) findViewById(R.id.id_nested_layout_indicator);
27+
mViewPager = (ViewPager) findViewById(R.id.id_nested_layout_viewpager);
28+
mIndicator.setTitles(mTitles);
29+
for (int i = 0; i < mTitles.length; i++) {
30+
mFragments[i] = new ItemFragment();
31+
}
32+
33+
mAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) {
34+
@Override
35+
public int getCount() {
36+
return mTitles.length;
37+
}
38+
39+
@Override
40+
public Fragment getItem(int position) {
41+
return mFragments[position];
42+
}
43+
44+
};
45+
46+
mViewPager.setAdapter(mAdapter);
47+
mViewPager.setCurrentItem(0);
48+
}
49+
50+
@Override
51+
public void initEvents() {
52+
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
53+
@Override
54+
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
55+
mIndicator.scroll(position, positionOffset);
56+
}
57+
58+
@Override
59+
public void onPageSelected(int position) {
60+
61+
}
62+
63+
@Override
64+
public void onPageScrollStateChanged(int state) {
65+
66+
}
67+
});
68+
}
69+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package org.ninetripods.mq.study.NestedScroll.tradition;
2+
3+
import android.widget.ArrayAdapter;
4+
5+
import org.ninetripods.mq.study.BaseActivity;
6+
import org.ninetripods.mq.study.NestedScroll.util.view.CustomListView;
7+
import org.ninetripods.mq.study.R;
8+
9+
public class ScrollListViewActivity extends BaseActivity {
10+
11+
private CustomListView lv_listView;
12+
private String[] data = {"Apple", "Banana", "Orange", "Watermelon",
13+
"Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango", "Banana", "Orange", "Watermelon",
14+
"Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango", "Banana", "Orange", "Watermelon",
15+
"Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango", "Banana", "Orange", "Watermelon",
16+
"Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango"};
17+
18+
@Override
19+
public void setContentView() {
20+
setContentView(R.layout.activity_scroll);
21+
}
22+
23+
@Override
24+
public void initViews() {
25+
lv_listView = (CustomListView) findViewById(R.id.lv_listView);
26+
ArrayAdapter<String> adapter = new ArrayAdapter<>(
27+
this, android.R.layout.simple_list_item_1, data);
28+
lv_listView.setAdapter(adapter);
29+
}
30+
31+
@Override
32+
public void initEvents() {
33+
34+
}
35+
36+
37+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package org.ninetripods.mq.study.NestedScroll.tradition;
2+
3+
import org.ninetripods.mq.study.BaseActivity;
4+
import org.ninetripods.mq.study.NestedScroll.util.adapter.MyPagerAdapter;
5+
import org.ninetripods.mq.study.NestedScroll.util.view.CustomViewPager;
6+
import org.ninetripods.mq.study.R;
7+
8+
public class ScrollViewPagerActivity extends BaseActivity {
9+
10+
private CustomViewPager view_pager;
11+
private MyPagerAdapter myPagerAdapter;
12+
13+
@Override
14+
public void setContentView() {
15+
setContentView(R.layout.activity_scroll_view_pager);
16+
}
17+
18+
@Override
19+
public void initViews() {
20+
view_pager = (CustomViewPager) findViewById(R.id.view_pager);
21+
myPagerAdapter = new MyPagerAdapter(this);
22+
view_pager.setAdapter(myPagerAdapter);
23+
}
24+
25+
@Override
26+
public void initEvents() {
27+
super.initEvents();
28+
}
29+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package org.ninetripods.mq.study.NestedScroll.util.adapter;
2+
3+
import android.support.v4.app.Fragment;
4+
import android.support.v4.app.FragmentManager;
5+
import android.support.v4.app.FragmentPagerAdapter;
6+
7+
import java.util.ArrayList;
8+
import java.util.List;
9+
10+
/**
11+
* Created by mq on 2018/6/8 上午11:42
12+
13+
*/
14+
15+
public class MyFragmentPagerAdapter extends FragmentPagerAdapter {
16+
17+
private final List<Fragment> mFragments = new ArrayList<>();
18+
private final List<String> mFragmentTitles = new ArrayList<>();
19+
20+
public MyFragmentPagerAdapter(FragmentManager fm) {
21+
super(fm);
22+
}
23+
24+
public void addFragment(Fragment fragment, String title) {
25+
mFragments.add(fragment);
26+
mFragmentTitles.add(title);
27+
}
28+
29+
@Override
30+
public Fragment getItem(int position) {
31+
return mFragments.get(position);
32+
}
33+
34+
@Override
35+
public int getCount() {
36+
return mFragments.size();
37+
}
38+
39+
@Override
40+
public CharSequence getPageTitle(int position) {
41+
return mFragmentTitles.get(position);
42+
}
43+
}

0 commit comments

Comments
 (0)