Skip to content

Commit c319205

Browse files
committed
v1.0
1 parent f47e784 commit c319205

File tree

17 files changed

+179
-125
lines changed

17 files changed

+179
-125
lines changed

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ gen/
1414

1515
# Gradle files
1616
.gradle/
17-
gradle/
17+
1818
build/
1919
/*/build/
2020

README.md

+9-8
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ EasySlidingTabs
77

88
```Gradle
99
dependencies {
10-
compile 'com.camnter.easyslidingtabs:easyslidingtabs:0.3'
10+
compile 'com.camnter.easyslidingtabs:easyslidingtabs:1.0'
1111
}
1212
```
1313

@@ -89,6 +89,7 @@ public class TabsFragmentAdapter extends FragmentPagerAdapter implements EasySli
8989

9090
private String[] titles;
9191
private List<Fragment> fragments;
92+
9293
public TabsFragmentAdapter(FragmentManager fm, String[] titles, List<Fragment> fragments) {
9394
super(fm);
9495
this.fragments = fragments;
@@ -99,8 +100,7 @@ public class TabsFragmentAdapter extends FragmentPagerAdapter implements EasySli
99100
public SpannableString getTabTitle(int position) {
100101
CharSequence title = this.getPageTitle(position);
101102
if (TextUtils.isEmpty(title)) return new SpannableString("");
102-
SpannableString spannableString = new SpannableString(title);
103-
return spannableString;
103+
return new SpannableString(title);
104104
}
105105

106106
/**
@@ -124,7 +124,7 @@ public class TabsFragmentAdapter extends FragmentPagerAdapter implements EasySli
124124
/**
125125
* Return the Fragment associated with a specified position.
126126
*
127-
* @param position
127+
* @param position position
128128
*/
129129
@Override
130130
public Fragment getItem(int position) {
@@ -164,7 +164,7 @@ public class TabsFragmentAdapter extends FragmentPagerAdapter implements EasySli
164164
public int getCount() {
165165
return this.fragments.size();
166166
}
167-
167+
168168
}
169169
```
170170

@@ -173,7 +173,8 @@ public class TabsFragmentAdapter extends FragmentPagerAdapter implements EasySli
173173

174174
## EasySlidingTabs set tab background
175175

176-
**easyslidingtabs**Module:**bg_easy_sliding_tabs.xml:**
176+
**easyslidingtabs**
177+
Module:**bg_easy_sliding_tabs.xml:**
177178

178179
```XML
179180
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:exitFadeDuration="@android:integer/config_shortAnimTime">
@@ -185,9 +186,9 @@ public class TabsFragmentAdapter extends FragmentPagerAdapter implements EasySli
185186

186187
---
187188

188-
## Consequence
189+
## Screenshot
189190

190-
![readme_1](https://github.com/CaMnter/EasySlidingTabs/raw/master/readme/readme_easy_sliding_tabs_1.png)
191+
![readme_1](https://github.com/CaMnter/EasySlidingTabs/raw/master/screenshot/est.gif)
191192

192193

193194
---

app/app.iml

+35-4
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@
1212
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
1313
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
1414
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
15-
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" />
16-
<option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugAndroidTestSources" />
1715
<afterSyncTasks>
18-
<task>generateDebugAndroidTestSources</task>
1916
<task>generateDebugSources</task>
2017
</afterSyncTasks>
2118
<option name="ALLOW_USER_CONFIGURATION" value="false" />
@@ -28,7 +25,7 @@
2825
</component>
2926
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
3027
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
31-
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/androidTest/debug" />
28+
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
3229
<exclude-output />
3330
<content url="file://$MODULE_DIR$">
3431
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
@@ -50,6 +47,13 @@
5047
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
5148
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
5249
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
50+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
51+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
52+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
53+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
54+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
55+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/jni" isTestSource="true" />
56+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
5357
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
5458
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
5559
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
@@ -64,18 +68,45 @@
6468
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
6569
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
6670
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
71+
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
72+
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
73+
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
74+
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
75+
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
76+
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
77+
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
6778
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
79+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
80+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
81+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
82+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/debug" />
83+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
84+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
6885
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/jars" />
6986
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/23.0.1/jars" />
7087
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
88+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
89+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
90+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
91+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
92+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
7193
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
94+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/mockable-android-23.jar" />
95+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
96+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
7297
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
98+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
7399
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
74100
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
101+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/tmp" />
102+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
75103
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
104+
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
76105
</content>
77106
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
78107
<orderEntry type="sourceFolder" forTests="false" />
108+
<orderEntry type="library" exported="" scope="TEST" name="hamcrest-core-1.3" level="project" />
109+
<orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" />
79110
<orderEntry type="library" exported="" name="support-v4-23.0.1" level="project" />
80111
<orderEntry type="library" exported="" name="appcompat-v7-23.0.1" level="project" />
81112
<orderEntry type="library" exported="" name="support-annotations-23.0.1" level="project" />

app/src/main/java/com/camnter/easytest/adapter/TabsFragmentAdapter.java

+4-5
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,20 @@
2222
import android.text.SpannableString;
2323
import android.text.TextUtils;
2424

25-
2625
import com.camnter.easyslidingtabs.widget.EasySlidingTabs;
2726

2827
import java.util.List;
2928

3029
/**
31-
* Description:
30+
* Description:TabsFragmentAdapter
3231
* Created by:CaMnter
3332
* Time:2015-10-15 14:58
3433
*/
3534
public class TabsFragmentAdapter extends FragmentPagerAdapter implements EasySlidingTabs.TabsTitleInterface {
3635

3736
private String[] titles;
3837
private List<Fragment> fragments;
38+
3939
public TabsFragmentAdapter(FragmentManager fm, String[] titles, List<Fragment> fragments) {
4040
super(fm);
4141
this.fragments = fragments;
@@ -46,8 +46,7 @@ public TabsFragmentAdapter(FragmentManager fm, String[] titles, List<Fragment> f
4646
public SpannableString getTabTitle(int position) {
4747
CharSequence title = this.getPageTitle(position);
4848
if (TextUtils.isEmpty(title)) return new SpannableString("");
49-
SpannableString spannableString = new SpannableString(title);
50-
return spannableString;
49+
return new SpannableString(title);
5150
}
5251

5352
/**
@@ -71,7 +70,7 @@ public CharSequence getPageTitle(int position) {
7170
/**
7271
* Return the Fragment associated with a specified position.
7372
*
74-
* @param position
73+
* @param position position
7574
*/
7675
@Override
7776
public Fragment getItem(int position) {

app/src/main/java/com/camnter/easytest/fragment/FirstFragment.java

+11-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.camnter.easytest.fragment;
22

3+
import android.annotation.SuppressLint;
34
import android.os.Bundle;
45
import android.support.annotation.Nullable;
56
import android.support.v4.app.Fragment;
@@ -11,24 +12,31 @@
1112

1213

1314
/**
14-
* Description:
15+
* Description:FirstFragment
1516
* Created by:CaMnter
1617
* Time:2015-10-17 12:15
1718
*/
1819
public class FirstFragment extends Fragment {
1920

20-
private View self;
21+
private volatile View self;
2122

2223
private static FirstFragment instance;
2324

25+
@SuppressLint("ValidFragment")
2426
private FirstFragment() {
2527
}
2628

2729
public static FirstFragment getInstance() {
28-
if (instance == null) instance = new FirstFragment();
30+
if (instance == null) {
31+
synchronized (FirstFragment.class) {
32+
if (instance == null)
33+
instance = new FirstFragment();
34+
}
35+
}
2936
return instance;
3037
}
3138

39+
@SuppressLint("InflateParams")
3240
@Nullable
3341
@Override
3442
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

app/src/main/java/com/camnter/easytest/fragment/FourthFragment.java

+11-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.camnter.easytest.fragment;
22

3+
import android.annotation.SuppressLint;
34
import android.os.Bundle;
45
import android.support.annotation.Nullable;
56
import android.support.v4.app.Fragment;
@@ -11,24 +12,31 @@
1112

1213

1314
/**
14-
* Description:
15+
* Description:FourthFragment
1516
* Created by:CaMnter
1617
* Time:2015-10-17 12:15
1718
*/
1819
public class FourthFragment extends Fragment {
1920

20-
private View self;
21+
private volatile View self;
2122

2223
private static FourthFragment instance;
2324

25+
@SuppressLint("ValidFragment")
2426
private FourthFragment() {
2527
}
2628

2729
public static FourthFragment getInstance() {
28-
if (instance == null) instance = new FourthFragment();
30+
if (instance == null) {
31+
synchronized (FourthFragment.class) {
32+
if (instance == null)
33+
instance = new FourthFragment();
34+
}
35+
}
2936
return instance;
3037
}
3138

39+
@SuppressLint("InflateParams")
3240
@Nullable
3341
@Override
3442
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

app/src/main/java/com/camnter/easytest/fragment/SecondFragment.java

+11-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.camnter.easytest.fragment;
22

3+
import android.annotation.SuppressLint;
34
import android.os.Bundle;
45
import android.support.annotation.Nullable;
56
import android.support.v4.app.Fragment;
@@ -11,24 +12,31 @@
1112

1213

1314
/**
14-
* Description:
15+
* Description:SecondFragment
1516
* Created by:CaMnter
1617
* Time:2015-10-17 12:15
1718
*/
1819
public class SecondFragment extends Fragment {
1920

20-
private View self;
21+
private volatile View self;
2122

2223
private static SecondFragment instance;
2324

25+
@SuppressLint("ValidFragment")
2426
private SecondFragment() {
2527
}
2628

2729
public static SecondFragment getInstance() {
28-
if (instance == null) instance = new SecondFragment();
30+
if (instance == null) {
31+
synchronized (SecondFragment.class) {
32+
if (instance == null)
33+
instance = new SecondFragment();
34+
}
35+
}
2936
return instance;
3037
}
3138

39+
@SuppressLint("InflateParams")
3240
@Nullable
3341
@Override
3442
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

app/src/main/java/com/camnter/easytest/fragment/ThirdFragment.java

+11-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.camnter.easytest.fragment;
22

3+
import android.annotation.SuppressLint;
34
import android.os.Bundle;
45
import android.support.annotation.Nullable;
56
import android.support.v4.app.Fragment;
@@ -11,24 +12,31 @@
1112

1213

1314
/**
14-
* Description:
15+
* Description:ThirdFragment
1516
* Created by:CaMnter
1617
* Time:2015-10-17 12:15
1718
*/
1819
public class ThirdFragment extends Fragment {
1920

20-
private View self;
21+
private volatile View self;
2122

2223
private static ThirdFragment instance;
2324

25+
@SuppressLint("ValidFragment")
2426
private ThirdFragment() {
2527
}
2628

2729
public static ThirdFragment getInstance() {
28-
if (instance == null) instance = new ThirdFragment();
30+
if (instance == null) {
31+
synchronized (ThirdFragment.class) {
32+
if (instance == null)
33+
instance = new ThirdFragment();
34+
}
35+
}
2936
return instance;
3037
}
3138

39+
@SuppressLint("InflateParams")
3240
@Nullable
3341
@Override
3442
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ buildscript {
55
jcenter()
66
}
77
dependencies {
8-
classpath 'com.android.tools.build:gradle:1.3.0'
8+
classpath 'com.android.tools.build:gradle:2.0.0-beta6'
99

1010
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
1111
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'

0 commit comments

Comments
 (0)