Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into HEAD
Browse files Browse the repository at this point in the history
  • Loading branch information
mtotschnig committed Sep 27, 2015
2 parents 714b51c + cec8d6a commit dfa1dd5
Show file tree
Hide file tree
Showing 13 changed files with 231 additions and 35 deletions.
27 changes: 24 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ public class MyAdapter extends BaseAdapter implements StickyListHeadersAdapter {
private String[] countries;
private LayoutInflater inflater;

public TestBaseAdapter(Context context) {
public MyAdapter(Context context) {
inflater = LayoutInflater.from(context);
countries = context.getResources().getStringArray(R.array.countries);
}
Expand Down Expand Up @@ -148,8 +148,29 @@ public class MyAdapter extends BaseAdapter implements StickyListHeadersAdapter {

That's it! Look through the API docs below to get know about things to customize and if you have any problems getting started please open an issue as it probably means the getting started guide need some improvement!

###Styling

You can apply your own theme to `StickyListHeadersListView`s. Say you define a style called `Widget.MyApp.ListView` in values/styles.xml:
```xml
<resources>
<style name="Widget.MyApp.ListView" parent="@android:style/Widget.ListView">
<item name="android:paddingLeft">@dimen/vertical_padding</item>
<item name="android:paddingRight">@dimen/vertical_padding</item>
</style>
</resources>
```

You can then apply this style to all `StickyListHeadersListView`s by adding something like this to your theme (e.g. values/themes.xml):
```xml
<resources>
<style name="Theme.MyApp" parent="android:Theme.NoTitleBar">
<item name="stickyListHeadersListViewStyle">@style/Widget.MyApp.ListView</item>
</style>
</resources>
```

###Expandable support
Now,you can use `ExpandableStickyListHeadersListView` to expand/collapse subitems.
Now, you can use `ExpandableStickyListHeadersListView` to expand/collapse subitems.
xml first
```xml
<se.emilsjolander.stickylistheaders.ExpandableStickyListHeadersListView
Expand All @@ -173,7 +194,7 @@ expandableStickyList.setOnHeaderClickListener(new StickyListHeadersListView.OnHe
}
});
```
As you see,MyAdapter is just a StickyListHeadersAdapter which is mentioned in the previous section.
As you see, MyAdapter is just a StickyListHeadersAdapter which is mentioned in the previous section.
You needn't do any more extra operations.

There are three important functions:
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ buildscript {
}

dependencies {
classpath 'com.android.tools.build:gradle:0.12.+'
classpath 'com.android.tools.build:gradle:1.1.0'
}
}

Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
VERSION_NAME=2.5.2
VERSION_NAME=2.7.0
GROUP=se.emilsjolander

POM_DESCRIPTION=A small android library that makes it easy to make lists with section headers that stick to the top until a new section header comes along.
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip
distributionUrl=http\://services.gradle.org/distributions/gradle-2.2.1-all.zip
4 changes: 2 additions & 2 deletions library/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@

<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="18" />
android:targetSdkVersion="22" />

</manifest>
</manifest>
8 changes: 4 additions & 4 deletions library/build.gradle
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
apply plugin: 'android-library'
apply plugin: 'com.android.library'

android {
compileSdkVersion 19
buildToolsVersion '19.1.0'
compileSdkVersion 22
buildToolsVersion '22.0.1'

sourceSets {
main {
Expand All @@ -13,4 +13,4 @@ android {
}
}

apply from: 'https://raw.github.com/shamanland/gradle-mvn-push/cc18d56549cdea03f744b6fff27911569394073e/gradle-mvn-push.gradle'
apply from: 'gradle-mvn-push.gradle'
116 changes: 116 additions & 0 deletions library/gradle-mvn-push.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
/*
* Copyright 2013 Chris Banes
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

apply plugin: 'maven'
apply plugin: 'signing'

def isReleaseBuild() {
return VERSION_NAME.contains("SNAPSHOT") == false
}

def getReleaseRepositoryUrl() {
return hasProperty('RELEASE_REPOSITORY_URL') ? RELEASE_REPOSITORY_URL
: "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
}

def getSnapshotRepositoryUrl() {
return hasProperty('SNAPSHOT_REPOSITORY_URL') ? SNAPSHOT_REPOSITORY_URL
: "https://oss.sonatype.org/content/repositories/snapshots/"
}

def getRepositoryUsername() {
return hasProperty('NEXUS_USERNAME') ? NEXUS_USERNAME : ""
}

def getRepositoryPassword() {
return hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : ""
}

afterEvaluate { project ->
uploadArchives {
repositories {
mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }

pom.groupId = GROUP
pom.artifactId = POM_ARTIFACT_ID
pom.version = VERSION_NAME

repository(url: getReleaseRepositoryUrl()) {
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
}
snapshotRepository(url: getSnapshotRepositoryUrl()) {
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
}

pom.project {
name POM_NAME
packaging POM_PACKAGING
description POM_DESCRIPTION
url POM_URL

scm {
url POM_SCM_URL
connection POM_SCM_CONNECTION
developerConnection POM_SCM_DEV_CONNECTION
}

licenses {
license {
name POM_LICENCE_NAME
url POM_LICENCE_URL
distribution POM_LICENCE_DIST
}
}

developers {
developer {
id POM_DEVELOPER_ID
name POM_DEVELOPER_NAME
email POM_DEVELOPER_EMAIL
}
}
}
}
}
}

signing {
required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
sign configurations.archives
}

task androidJavadocs(type: Javadoc) {
failOnError = false
source = android.sourceSets.main.java.source
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}

task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
classifier = 'javadoc'
from androidJavadocs.destinationDir
}

task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.source
}

artifacts {
archives androidSourcesJar
archives androidJavadocsJar
}
}
5 changes: 4 additions & 1 deletion library/res/values/attrs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
<resources>

<declare-styleable name="StickyListHeadersListView">
<attr name="stickyListHeadersListViewStyle" format="reference"/>

<!-- View attributes -->
<attr name="android:clipToPadding" />
<attr name="android:scrollbars" />
Expand All @@ -26,10 +28,11 @@
<attr name="android:divider" />
<attr name="android:dividerHeight" />
<attr name="android:transcriptMode" />
<attr name="android:stackFromBottom" />

<!-- StickyListHeaders attributes -->
<attr name="hasStickyHeaders" format="boolean" />
<attr name="isDrawingListUnderStickyHeader" format="boolean" />
</declare-styleable>

</resources>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ interface OnHeaderClickListener {
boolean onHeaderLongClick(View header, int itemPosition, long headerId);
}

final StickyListHeadersAdapter mDelegate;
StickyListHeadersAdapter mDelegate;
private final List<View> mHeaderCache = new LinkedList<View>();
private final Context mContext;
private Drawable mDivider;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
class SectionIndexerAdapterWrapper extends
AdapterWrapper implements SectionIndexer {

final SectionIndexer mSectionIndexerDelegate;
SectionIndexer mSectionIndexerDelegate;

SectionIndexerAdapterWrapper(Context context,
StickyListHeadersAdapter delegate) {
Expand Down
Loading

0 comments on commit dfa1dd5

Please sign in to comment.