diff --git a/app/build.gradle b/app/build.gradle
index 7c556c1..4e213b9 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,13 +1,13 @@
apply plugin: 'com.android.application'
android {
- compileSdkVersion 27
- buildToolsVersion "27.0.0"
+ compileSdkVersion 28
+ buildToolsVersion "28.0.3"
defaultConfig {
applicationId "com.borjabravo.readmoretextview"
minSdkVersion 14
- targetSdkVersion 27
+ targetSdkVersion 28
versionCode 1
versionName "1.0"
}
@@ -25,8 +25,8 @@ android {
}
dependencies {
- implementation 'com.android.support:appcompat-v7:27.0.0'
- implementation 'com.android.support:design:27.0.0'
+ implementation 'androidx.appcompat:appcompat:1.0.2'
+ implementation 'com.google.android.material:material:1.0.0'
implementation project(':readmoretextview')
testImplementation 'junit:junit:4.12'
}
diff --git a/app/src/main/java/com/borjabravo/readmoretextviewsample/MainActivity.java b/app/src/main/java/com/borjabravo/readmoretextviewsample/MainActivity.java
index 8f50499..8b97bf4 100644
--- a/app/src/main/java/com/borjabravo/readmoretextviewsample/MainActivity.java
+++ b/app/src/main/java/com/borjabravo/readmoretextviewsample/MainActivity.java
@@ -1,7 +1,7 @@
package com.borjabravo.readmoretextviewsample;
import android.os.Bundle;
-import android.support.v7.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatActivity;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
diff --git a/build.gradle b/build.gradle
index ea35e68..d41323b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,18 +1,21 @@
buildscript {
repositories {
- jcenter()
google()
+ maven {
+ url "https://maven.google.com"
+ }
+ jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.0.0'
- classpath 'com.novoda:bintray-release:0.5.0'
+ classpath 'com.android.tools.build:gradle:3.4.2'
+ classpath 'com.novoda:bintray-release:0.8.0'
}
}
allprojects {
repositories {
- jcenter()
google()
+ jcenter()
}
}
diff --git a/gradle.properties b/gradle.properties
index 1d3591c..915f0e6 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -15,4 +15,6 @@
# 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
+# org.gradle.parallel=true
+android.enableJetifier=true
+android.useAndroidX=true
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index b692f5e..4d49568 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sun Nov 12 12:19:18 CET 2017
+#Sun Aug 04 11:57:53 EEST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
diff --git a/readmoretextview/build.gradle b/readmoretextview/build.gradle
index 1fefb5e..a1d0a2a 100644
--- a/readmoretextview/build.gradle
+++ b/readmoretextview/build.gradle
@@ -12,12 +12,12 @@ publish {
}
android {
- compileSdkVersion 27
- buildToolsVersion '27.0.0'
+ compileSdkVersion 28
+ buildToolsVersion '28.0.3'
defaultConfig {
minSdkVersion 14
- targetSdkVersion 27
+ targetSdkVersion 28
versionCode 1
versionName "1.0"
}
@@ -28,6 +28,6 @@ android {
}
dependencies {
- implementation 'com.android.support:support-compat:27.0.0'
+ implementation 'androidx.core:core:1.0.2'
testImplementation 'junit:junit:4.12'
}
\ No newline at end of file
diff --git a/readmoretextview/src/main/java/com/borjabravo/readmoretextview/ReadMoreListener.java b/readmoretextview/src/main/java/com/borjabravo/readmoretextview/ReadMoreListener.java
new file mode 100644
index 0000000..8c9e0f9
--- /dev/null
+++ b/readmoretextview/src/main/java/com/borjabravo/readmoretextview/ReadMoreListener.java
@@ -0,0 +1,9 @@
+package com.borjabravo.readmoretextview;
+
+/**
+ * Created by Mays Atari.
+ */
+
+public interface ReadMoreListener {
+ void onReadMoreClick(boolean readMore);
+}
diff --git a/readmoretextview/src/main/java/com/borjabravo/readmoretextview/ReadMoreTextView.java b/readmoretextview/src/main/java/com/borjabravo/readmoretextview/ReadMoreTextView.java
index f560151..0b5a0b0 100644
--- a/readmoretextview/src/main/java/com/borjabravo/readmoretextview/ReadMoreTextView.java
+++ b/readmoretextview/src/main/java/com/borjabravo/readmoretextview/ReadMoreTextView.java
@@ -15,11 +15,11 @@
*/
package com.borjabravo.readmoretextview;
+
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.os.Build;
-import android.support.v4.content.ContextCompat;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.TextPaint;
@@ -30,6 +30,8 @@
import android.view.ViewTreeObserver;
import android.widget.TextView;
+import androidx.core.content.ContextCompat;
+
public class ReadMoreTextView extends TextView {
private static final int TRIM_MODE_LINES = 0;
@@ -38,17 +40,19 @@ public class ReadMoreTextView extends TextView {
private static final int DEFAULT_TRIM_LINES = 2;
private static final int INVALID_END_INDEX = -1;
private static final boolean DEFAULT_SHOW_TRIM_EXPANDED_TEXT = true;
+ private static final boolean DEFAULT_READ_MORE = true;
private static final String ELLIPSIZE = "... ";
private CharSequence text;
private BufferType bufferType;
- private boolean readMore = true;
+ private boolean readMore;
private int trimLength;
private CharSequence trimCollapsedText;
private CharSequence trimExpandedText;
private ReadMoreClickableSpan viewMoreSpan;
private int colorClickableText;
private boolean showTrimExpandedText;
+ private ReadMoreListener readMoreListener;
private int trimMode;
private int lineEndIndex;
@@ -73,6 +77,7 @@ public ReadMoreTextView(Context context, AttributeSet attrs) {
ContextCompat.getColor(context, R.color.accent));
this.showTrimExpandedText =
typedArray.getBoolean(R.styleable.ReadMoreTextView_showTrimExpandedText, DEFAULT_SHOW_TRIM_EXPANDED_TEXT);
+ this.readMore = typedArray.getBoolean(R.styleable.ReadMoreTextView_readMore, DEFAULT_READ_MORE);
this.trimMode = typedArray.getInt(R.styleable.ReadMoreTextView_trimMode, TRIM_MODE_LINES);
typedArray.recycle();
viewMoreSpan = new ReadMoreClickableSpan();
@@ -178,11 +183,23 @@ public void setTrimLines(int trimLines) {
this.trimLines = trimLines;
}
+ public void setReadMore(boolean readMore) {
+ this.readMore = readMore;
+ }
+
+ public void setReadMoreListener(ReadMoreListener readMoreListener) {
+ this.readMoreListener = readMoreListener;
+ }
+
private class ReadMoreClickableSpan extends ClickableSpan {
@Override
public void onClick(View widget) {
readMore = !readMore;
setText();
+
+ if(readMoreListener != null){
+ readMoreListener.onReadMoreClick(readMore);
+ }
}
@Override
diff --git a/readmoretextview/src/main/res/values/attrs.xml b/readmoretextview/src/main/res/values/attrs.xml
index 54da4a8..8de7fb3 100644
--- a/readmoretextview/src/main/res/values/attrs.xml
+++ b/readmoretextview/src/main/res/values/attrs.xml
@@ -5,6 +5,7 @@
+