diff --git a/.gitignore b/.gitignore
index c9c2248..76be0fa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,3 +30,5 @@ proguard/
# Android Studio captures folder
captures/
+
+*.iml
diff --git a/Android-ExpandableTextView.iml b/Android-ExpandableTextView.iml
deleted file mode 100644
index d569d2c..0000000
--- a/Android-ExpandableTextView.iml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..994a1ea
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,6 @@
+CHANGE LOG
+==========================
+
+1.0.0
+-----
+Initial version of the ExpandableTextView
diff --git a/ExpandableTextView.iml b/ExpandableTextView.iml
deleted file mode 100644
index 488df12..0000000
--- a/ExpandableTextView.iml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/README.md b/README.md
index 30d0d47..1492242 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,144 @@
-# Android-ExpandableTextView
-An expandable TextView for Android applications
+Android-ExpandableTextView
+==========================
+An expandable TextView for Android applications (4.0+).
+
+[ ![Download](https://api.bintray.com/packages/blogcat/maven/android-expandabletextview/images/download.svg) ](https://bintray.com/blogcat/maven/android-expandabletextview/_latestVersion)
+
+Demo
+----
+This repository also contains a demo project.
+
+![Demo](https://raw.githubusercontent.com/Blogcat/Android-ExpandableTextView/release/1.0.0/demo.gif)
+
+Add dependency
+--------------
+This library is not yet released in Maven Central, but instead you can use [Bintray](https://www.bintray.com).
+
+```groovy
+ repositories {
+ maven {
+ url "https://dl.bintray.com/blogcat/maven"
+ }
+ }
+```
+
+library dependency
+
+```groovy
+ dependencies {
+ compile ('at.blogc:expandabletextview:1.0.0@aar')
+ }
+```
+
+Usage
+-----
+Using the ExpandableTextView is very easy, it's just a regular TextView with some extra functionality added to it. By defining the android:maxLines attribute, you can set the default number of lines for the TextView collapsed state.
+
+```xml
+
+
+
+
+
+
+
+
+
+```
+
+In your Activity or Fragment:
+
+```java
+final ExpandableTextView expandableTextView = (ExpandableTextView) this.findViewById(R.id.expandableTextView);
+final Button buttonToggle = (Button) this.findViewById(R.id.button_toggle);
+
+// set animation duration via code, but preferable in your layout files by using the animation_duration attribute
+expandableTextView.setAnimationDuration(1000L);
+
+// toggle the ExpandableTextView
+buttonToggle.setOnClickListener(new View.OnClickListener()
+{
+ @Override
+ public void onClick(final View v)
+ {
+ expandableTextView.toggle();
+ buttonToggle.setText(expandableTextView.isExpanded() ? R.string.collapse : R.string.expand);
+ }
+});
+
+// but, you can also do the checks yourself
+buttonToggle.setOnClickListener(new View.OnClickListener()
+{
+ @Override
+ public void onClick(final View v)
+ {
+ if (expandableTextView.isExpanded())
+ {
+ expandableTextView.collapse();
+ buttonToggle.setText(R.string.expand);
+ }
+ else
+ {
+ expandableTextView.expand();
+ buttonToggle.setText(R.string.collapse);
+ }
+ }
+});
+
+// listen for expand / collapse events
+expandableTextView.setOnExpandListener(new ExpandableTextView.OnExpandListener()
+{
+ @Override
+ public void onExpand(final ExpandableTextView view)
+ {
+ Log.d(TAG, "ExpandableTextView expanded");
+ }
+
+ @Override
+ public void onCollapse(final ExpandableTextView view)
+ {
+ Log.d(TAG, "ExpandableTextView collapsed");
+ }
+});
+```
+
+Roadmap
+=======
+
+* take into account TextView padding and margin
+* optional fading edge at the bottom of the TextView
+* support for Interpolators
+* update demo project with more examples
+
+License
+=======
+
+ Copyright 2016 Cliff Ophalvens (Blogc.at)
+
+ 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.
diff --git a/app/app.iml b/app/app.iml
deleted file mode 100644
index 956846c..0000000
--- a/app/app.iml
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- generateDebugSources
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 27dde40..5434219 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -21,6 +21,9 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
- testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
+ compile project(':expandabletextview')
+
+
+ testCompile 'junit:junit:4.12'
}
diff --git a/app/src/androidTest/java/blogc/at/android/views/ApplicationTest.java b/app/src/androidTest/java/at/blogc/android/views/ApplicationTest.java
similarity index 91%
rename from app/src/androidTest/java/blogc/at/android/views/ApplicationTest.java
rename to app/src/androidTest/java/at/blogc/android/views/ApplicationTest.java
index 7e5a8f5..a85d191 100644
--- a/app/src/androidTest/java/blogc/at/android/views/ApplicationTest.java
+++ b/app/src/androidTest/java/at/blogc/android/views/ApplicationTest.java
@@ -1,4 +1,4 @@
-package blogc.at.android.views;
+package at.blogc.android.views;
import android.app.Application;
import android.test.ApplicationTestCase;
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d38e9cc..509ac2a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,5 +1,19 @@
-
+
-
+
diff --git a/app/src/main/java/at/blogc/android/activities/MainActivity.java b/app/src/main/java/at/blogc/android/activities/MainActivity.java
new file mode 100644
index 0000000..c91a5b0
--- /dev/null
+++ b/app/src/main/java/at/blogc/android/activities/MainActivity.java
@@ -0,0 +1,89 @@
+package at.blogc.android.activities;
+
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.widget.Button;
+
+import at.blogc.android.views.ExpandableTextView;
+import at.blogc.android.views.R;
+
+/**
+ * Copyright (C) 2016 Cliff Ophalvens (Blogc.at)
+ *
+ * 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.
+ */
+public class MainActivity extends AppCompatActivity
+{
+ private static final String TAG = "ExpandableTextView";
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState)
+ {
+ super.onCreate(savedInstanceState);
+ this.setContentView(R.layout.activity_main);
+
+ final ExpandableTextView expandableTextView = (ExpandableTextView) this.findViewById(R.id.expandableTextView);
+ final Button buttonToggle = (Button) this.findViewById(R.id.button_toggle);
+
+ // set animation duration via code, but preferable in your layout files by using the animation_duration attribute
+ expandableTextView.setAnimationDuration(750L);
+
+ // toggle the ExpandableTextView
+ buttonToggle.setOnClickListener(new View.OnClickListener()
+ {
+ @Override
+ public void onClick(final View v)
+ {
+ expandableTextView.toggle();
+ buttonToggle.setText(expandableTextView.isExpanded() ? R.string.collapse : R.string.expand);
+ }
+ });
+
+ // but, you can also do the checks yourself
+ buttonToggle.setOnClickListener(new View.OnClickListener()
+ {
+ @Override
+ public void onClick(final View v)
+ {
+ if (expandableTextView.isExpanded())
+ {
+ expandableTextView.collapse();
+ buttonToggle.setText(R.string.expand);
+ }
+ else
+ {
+ expandableTextView.expand();
+ buttonToggle.setText(R.string.collapse);
+ }
+ }
+ });
+
+ // listen for expand / collapse events
+ expandableTextView.setOnExpandListener(new ExpandableTextView.OnExpandListener()
+ {
+ @Override
+ public void onExpand(final ExpandableTextView view)
+ {
+ Log.d(TAG, "ExpandableTextView expanded");
+ }
+
+ @Override
+ public void onCollapse(final ExpandableTextView view)
+ {
+ Log.d(TAG, "ExpandableTextView collapsed");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/blogc/at/android/activities/MainActivity.java b/app/src/main/java/blogc/at/android/activities/MainActivity.java
deleted file mode 100644
index 0842c46..0000000
--- a/app/src/main/java/blogc/at/android/activities/MainActivity.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package blogc.at.android.activities;
-
-import android.support.v7.app.AppCompatActivity;
-import android.os.Bundle;
-import android.view.View;
-
-import blogc.at.android.views.ExpandableTextView;
-import blogc.at.android.views.R;
-
-public class MainActivity extends AppCompatActivity
-{
- @Override
- protected void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- this.setContentView(R.layout.activity_main);
-
- final ExpandableTextView expandableTextView = (ExpandableTextView) this.findViewById(R.id.expandableTextView);
- expandableTextView.setOnClickListener(new View.OnClickListener()
- {
- @Override
- public void onClick(final View v)
- {
- expandableTextView.toggle();
- }
- });
- }
-}
diff --git a/app/src/main/java/blogc/at/android/animator/AnimatorListener.java b/app/src/main/java/blogc/at/android/animator/AnimatorListener.java
deleted file mode 100644
index 58a5d30..0000000
--- a/app/src/main/java/blogc/at/android/animator/AnimatorListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package blogc.at.android.animator;
-
-import android.animation.Animator;
-
-/**
- * Created by cliff on 18/02/16.
- */
-public class AnimatorListener implements Animator.AnimatorListener
-{
- @Override
- public void onAnimationStart(final Animator animation)
- {
-
- }
-
- @Override
- public void onAnimationEnd(final Animator animation)
- {
-
- }
-
- @Override
- public void onAnimationCancel(final Animator animation)
- {
-
- }
-
- @Override
- public void onAnimationRepeat(final Animator animation)
- {
-
- }
-}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 8e19904..c9060c7 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,4 +1,18 @@
+
-
+ tools:context="at.blogc.android.activities.MainActivity">
-
+ app:animation_duration="750"/>
-
+ android:text="@string/expand"/>
diff --git a/app/src/main/res/values-w820dp/dimens.xml b/app/src/main/res/values-w820dp/dimens.xml
index 63fc816..54f92fa 100644
--- a/app/src/main/res/values-w820dp/dimens.xml
+++ b/app/src/main/res/values-w820dp/dimens.xml
@@ -1,3 +1,18 @@
+
+
#3F51B5
#303F9F
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 47c8224..bd551d9 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -1,3 +1,18 @@
+
+
16dp
diff --git a/app/src/main/res/values/lorem_ipsum.xml b/app/src/main/res/values/lorem_ipsum.xml
index 618ce94..b7f0026 100644
--- a/app/src/main/res/values/lorem_ipsum.xml
+++ b/app/src/main/res/values/lorem_ipsum.xml
@@ -1,4 +1,18 @@
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse a risus sed nulla faucibus commodo. Donec iaculis pretium facilisis. Praesent rutrum varius arcu, sed viverra ipsum malesuada id. Suspendisse nec mauris eleifend, maximus elit et, venenatis quam. Duis at maximus nisi, a congue sapien. Curabitur facilisis at nisi vitae vulputate. Phasellus vel orci et massa scelerisque ultrices. Morbi eget ipsum porttitor arcu volutpat convallis. Pellentesque velit libero, interdum sed consequat at, eleifend et nisi. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed convallis massa imperdiet, consectetur lectus sodales, finibus velit. Donec quis tortor vel quam porta hendrerit. Vivamus vitae consectetur orci, sed feugiat turpis.
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 0d367a8..991ea7c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,3 +1,22 @@
+
+
+
ExpandableTextView
+ Expand
+ Collapse
+
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 5885930..5d882c1 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,3 +1,18 @@
+
+
diff --git a/app/src/test/java/blogc/at/android/views/ExampleUnitTest.java b/app/src/test/java/at/blogc/android/views/ExampleUnitTest.java
similarity index 89%
rename from app/src/test/java/blogc/at/android/views/ExampleUnitTest.java
rename to app/src/test/java/at/blogc/android/views/ExampleUnitTest.java
index 4147ff4..bd50ab8 100644
--- a/app/src/test/java/blogc/at/android/views/ExampleUnitTest.java
+++ b/app/src/test/java/at/blogc/android/views/ExampleUnitTest.java
@@ -1,4 +1,4 @@
-package blogc.at.android.views;
+package at.blogc.android.views;
import org.junit.Test;
diff --git a/build.gradle b/build.gradle
index 481a2e2..f4e0fd0 100644
--- a/build.gradle
+++ b/build.gradle
@@ -6,7 +6,8 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-beta5'
-
+ classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
+ classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
@@ -20,4 +21,4 @@ allprojects {
task clean(type: Delete) {
delete rootProject.buildDir
-}
+}
\ No newline at end of file
diff --git a/demo.gif b/demo.gif
new file mode 100644
index 0000000..652d86a
Binary files /dev/null and b/demo.gif differ
diff --git a/expandabletextview/.gitignore b/expandabletextview/.gitignore
new file mode 100644
index 0000000..796b96d
--- /dev/null
+++ b/expandabletextview/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/expandabletextview/build.gradle b/expandabletextview/build.gradle
new file mode 100644
index 0000000..dd963e7
--- /dev/null
+++ b/expandabletextview/build.gradle
@@ -0,0 +1,85 @@
+apply plugin: 'com.android.library'
+apply plugin: 'com.github.dcendents.android-maven'
+apply plugin: 'com.jfrog.bintray'
+
+def fullVersion = '1.0.0'
+
+group = 'at.blogc'
+version = fullVersion
+
+android {
+ compileSdkVersion 23
+ buildToolsVersion "23.0.2"
+
+ defaultConfig {
+ minSdkVersion 14
+ targetSdkVersion 23
+ versionCode 1
+ versionName fullVersion
+ }
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+}
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ compile fileTree(dir: 'libs', include: ['*.jar'])
+ testCompile 'junit:junit:4.12'
+}
+
+task sourcesJar(type: Jar) {
+ from android.sourceSets.main.java.srcDirs
+ classifier = 'sources'
+}
+
+task javadoc(type: Javadoc) {
+ source = android.sourceSets.main.java.srcDirs
+ classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
+}
+
+task javadocJar(type: Jar, dependsOn: javadoc) {
+ classifier = 'javadoc'
+ from javadoc.destinationDir
+}
+artifacts {
+ archives javadocJar
+ archives sourcesJar
+}
+
+bintray {
+ user = "${bintray_user}"
+ key = "${bintray_apikey}"
+ configurations = ['archives']
+
+ dryRun = false
+
+ pkg {
+ repo = 'maven'
+ name = 'android-expandabletextview'
+ userOrg = "blogcat"
+ licenses = ['Apache-2.0']
+ websiteUrl = 'https://github.com/Blogcat/Android-ExpandableTextView'
+ issueTrackerUrl = 'https://github.com/Blogcat/Android-ExpandableTextView/issues'
+ vcsUrl = 'https://github.com/Blogcat/Android-ExpandableTextView.git'
+ githubRepo = 'Blogcat/Android-ExpandableTextView'
+ githubReleaseNotesFile = 'CHANGELOG.md'
+
+ version {
+ name = fullVersion
+ released = new Date()
+ vcsTag = fullVersion
+
+ gpg {
+ sign = true
+ passphrase = "${bintray_gpg_password}"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/expandabletextview/gradle.properties b/expandabletextview/gradle.properties
new file mode 100644
index 0000000..f6c0bc1
--- /dev/null
+++ b/expandabletextview/gradle.properties
@@ -0,0 +1,3 @@
+POM_NAME=Expandable TextView
+POM_ARTIFACT_ID=expandabletextview
+POM_PACKAGING=aar
diff --git a/expandabletextview/proguard-rules.pro b/expandabletextview/proguard-rules.pro
new file mode 100644
index 0000000..7f645b4
--- /dev/null
+++ b/expandabletextview/proguard-rules.pro
@@ -0,0 +1,17 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in /Library/android-sdk-mac_x86/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
diff --git a/expandabletextview/src/androidTest/java/at/blogc/android/views/ApplicationTest.java b/expandabletextview/src/androidTest/java/at/blogc/android/views/ApplicationTest.java
new file mode 100644
index 0000000..a85d191
--- /dev/null
+++ b/expandabletextview/src/androidTest/java/at/blogc/android/views/ApplicationTest.java
@@ -0,0 +1,15 @@
+package at.blogc.android.views;
+
+import android.app.Application;
+import android.test.ApplicationTestCase;
+
+/**
+ * Testing Fundamentals
+ */
+public class ApplicationTest extends ApplicationTestCase
+{
+ public ApplicationTest()
+ {
+ super(Application.class);
+ }
+}
\ No newline at end of file
diff --git a/expandabletextview/src/main/AndroidManifest.xml b/expandabletextview/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..750b595
--- /dev/null
+++ b/expandabletextview/src/main/AndroidManifest.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
diff --git a/expandabletextview/src/main/java/at/blogc/android/animator/AnimatorListener.java b/expandabletextview/src/main/java/at/blogc/android/animator/AnimatorListener.java
new file mode 100644
index 0000000..bccc064
--- /dev/null
+++ b/expandabletextview/src/main/java/at/blogc/android/animator/AnimatorListener.java
@@ -0,0 +1,45 @@
+package at.blogc.android.animator;
+
+import android.animation.Animator;
+
+/**
+ * Copyright (C) 2016 Cliff Ophalvens (Blogc.at)
+ *
+ * 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.
+ */
+public class AnimatorListener implements Animator.AnimatorListener
+{
+ @Override
+ public void onAnimationStart(final Animator animation)
+ {
+
+ }
+
+ @Override
+ public void onAnimationEnd(final Animator animation)
+ {
+
+ }
+
+ @Override
+ public void onAnimationCancel(final Animator animation)
+ {
+
+ }
+
+ @Override
+ public void onAnimationRepeat(final Animator animation)
+ {
+
+ }
+}
diff --git a/app/src/main/java/blogc/at/android/views/ExpandableTextView.java b/expandabletextview/src/main/java/at/blogc/android/views/ExpandableTextView.java
similarity index 91%
rename from app/src/main/java/blogc/at/android/views/ExpandableTextView.java
rename to expandabletextview/src/main/java/at/blogc/android/views/ExpandableTextView.java
index 43122db..d2cd493 100644
--- a/app/src/main/java/blogc/at/android/views/ExpandableTextView.java
+++ b/expandabletextview/src/main/java/at/blogc/android/views/ExpandableTextView.java
@@ -1,4 +1,4 @@
-package blogc.at.android.views;
+package at.blogc.android.views;
import android.animation.Animator;
import android.animation.ValueAnimator;
@@ -11,10 +11,23 @@
import java.lang.reflect.Field;
-import blogc.at.android.animator.AnimatorListener;
+import at.blogc.android.animator.AnimatorListener;
+import at.blogc.expandabletextview.R;
/**
- * Created by cliff on 18/02/16.
+ * Copyright (C) 2016 Cliff Ophalvens (Blogc.at)
+ *
+ * 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.
*/
public class ExpandableTextView extends TextView
{
diff --git a/expandabletextview/src/main/res/values/attrs.xml b/expandabletextview/src/main/res/values/attrs.xml
new file mode 100644
index 0000000..6eb9089
--- /dev/null
+++ b/expandabletextview/src/main/res/values/attrs.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/expandabletextview/src/main/res/values/strings.xml b/expandabletextview/src/main/res/values/strings.xml
new file mode 100644
index 0000000..e0c953a
--- /dev/null
+++ b/expandabletextview/src/main/res/values/strings.xml
@@ -0,0 +1,18 @@
+
+
+
+ ExpandableTextView
+
diff --git a/expandabletextview/src/test/java/at/blogc/android/views/ExampleUnitTest.java b/expandabletextview/src/test/java/at/blogc/android/views/ExampleUnitTest.java
new file mode 100644
index 0000000..bd50ab8
--- /dev/null
+++ b/expandabletextview/src/test/java/at/blogc/android/views/ExampleUnitTest.java
@@ -0,0 +1,17 @@
+package at.blogc.android.views;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * To work on unit tests, switch the Test Artifact in the Build Variants view.
+ */
+public class ExampleUnitTest
+{
+ @Test
+ public void addition_isCorrect() throws Exception
+ {
+ assertEquals(4, 2 + 2);
+ }
+}
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
index 1d3591c..e69de29 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,18 +0,0 @@
-# Project-wide Gradle settings.
-
-# IDE (e.g. Android Studio) users:
-# Gradle settings configured through the IDE *will override*
-# any settings specified in this file.
-
-# For more details on how to configure your build environment visit
-# http://www.gradle.org/docs/current/userguide/build_environment.html
-
-# Specifies the JVM arguments used for the daemon process.
-# The setting is particularly useful for tweaking memory settings.
-# Default value: -Xmx10248m -XX:MaxPermSize=256m
-# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
-
-# When configured, Gradle will run in incubating parallel mode.
-# This option should only be used with decoupled projects. More details, visit
-# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
-# org.gradle.parallel=true
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index e7b4def..cf1165a 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1,3 @@
-include ':app'
+rootProject.name='expandabletextview-root'
+
+include ':app', ':expandabletextview'