diff --git a/build.gradle b/build.gradle index 794d5f6..de7c1aa 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:2.0.0' + classpath 'com.android.tools.build:gradle:2.1.2' } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 043790d..f82c784 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.13-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip diff --git a/library/build.gradle b/library/build.gradle index fe1df11..419cf77 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -10,4 +10,5 @@ android { } } -apply from: 'https://raw.github.com/chrisbanes/gradle-mvn-push/master/gradle-mvn-push.gradle' +//apply from: 'https://raw.github.com/chrisbanes/gradle-mvn-push/master/gradle-mvn-push.gradle' +apply from: './gradle-mvn-push.gradle' diff --git a/library/gradle-mvn-push.gradle b/library/gradle-mvn-push.gradle new file mode 100644 index 0000000..d9b0d60 --- /dev/null +++ b/library/gradle-mvn-push.gradle @@ -0,0 +1,138 @@ +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('OSS_USERNAME') ? OSS_USERNAME : '' +} + + +def getRepositoryPassword() { + return hasProperty('OSS_PWD') ? OSS_PWD : '' +} + + +afterEvaluate { project -> + uploadArchives { + repositories { + mavenDeployer { + beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } + + + pom.groupId = POM_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 + } + } + + + issueManagement { + system POM_ISSUE_SYSTEM + url POM_ISSUE_URL + } + + + developers { + developer { + id POM_DEVELOPER_ID + name POM_DEVELOPER_NAME + } + } + } + } + } + } + + + signing { + required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") } + sign configurations.archives + } + + + task apklib(type: Zip) { + + + appendix = extension = 'apklib' + + + from 'AndroidManifest.xml' + into('res') { + from 'res' + } + into('src') { + from 'src' + } + } + + +// task androidJavadocs(type: Javadoc) { +// source = android.sourceSets.main.java.srcDirs +// 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.srcDirs + } + + + artifacts { + archives androidSourcesJar + //archives androidJavadocsJar + archives apklib + } +} diff --git a/library/gradle.properties b/library/gradle.properties index 9138a15..ac78e3b 100644 --- a/library/gradle.properties +++ b/library/gradle.properties @@ -1,3 +1,32 @@ -POM_NAME=Android-AutofitTextView Library +#VERSION_NAME=1.0.0-SNAPSHOT +VERSION_NAME=0.2.2 +VERSION_CODE=22 + + +POM_GROUP=com.github.captain-miao POM_ARTIFACT_ID=autofittextview -POM_PACKAGING=aar \ No newline at end of file +POM_PACKAGING=aar + +#OSS_USERNAME= +#OSS_PWD= + + +POM_NAME=Android-AutofitTextView Library +POM_DESCRIPTION=A TextView that automatically resizes text to fit perfectly within its bounds. + + +POM_URL=https://github.com/captain-miao/android-autofittextview +POM_SCM_URL=https://github.com/captain-miao/android-autofittextview +POM_SCM_CONNECTION=scm:https://github.com/captain-miao/android-autofittextview.git +POM_SCM_DEV_CONNECTION=scm:https://github.com/captain-miao/android-autofittextview.git + + +POM_LICENCE_NAME=MIT +POM_LICENCE_URL=http://opensource.org/licenses/MIT +POM_LICENCE_DIST=repo +POM_DEVELOPER_ID=yanlu +POM_DEVELOPER_NAME=yanlu + + +POM_ISSUE_SYSTEM=GitHub Issues +POM_ISSUE_URL=https://github.com/captain-miao/android-autofittextview/issues diff --git a/library/src/main/java/me/grantland/widget/AutofitHelper.java b/library/src/main/java/me/grantland/widget/AutofitHelper.java index 90e0b0e..02b3a1f 100644 --- a/library/src/main/java/me/grantland/widget/AutofitHelper.java +++ b/library/src/main/java/me/grantland/widget/AutofitHelper.java @@ -95,7 +95,7 @@ private static void autofit(TextView view, TextPaint paint, float minTextSize, f return; } - int targetWidth = view.getWidth() - view.getPaddingLeft() - view.getPaddingRight(); + int targetWidth = view.getWidth() - view.getCompoundPaddingLeft() - view.getCompoundPaddingRight(); if (targetWidth <= 0) { return; } diff --git a/sample/src/main/res/layout/main.xml b/sample/src/main/res/layout/main.xml index cdb118e..f6a1d7f 100644 --- a/sample/src/main/res/layout/main.xml +++ b/sample/src/main/res/layout/main.xml @@ -40,8 +40,10 @@ android:text="@string/example" android:textSize="50sp" android:gravity="center" - android:singleLine="true" + android:maxLines="2" autofit:minTextSize="8sp" - /> + android:drawableRight="@drawable/ic_launcher" + android:drawableEnd="@drawable/ic_launcher" + android:drawablePadding="8dp"/>