From a8093c0e0940b92af8a5ff33f4e13bd8b77d6af5 Mon Sep 17 00:00:00 2001 From: Allen Date: Tue, 10 Sep 2019 10:15:19 +0800 Subject: [PATCH 01/41] =?UTF-8?q?=E6=94=AF=E6=8C=81kotlin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 6 ++++++ build.gradle | 4 +++- library/build.gradle | 8 ++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 3353c48..2b3dfc4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,4 +1,6 @@ apply plugin: 'com.android.application' +apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-android' android { compileSdkVersion 28 @@ -33,4 +35,8 @@ dependencies { implementation 'com.zhy:base-rvadapter:3.0.3' implementation 'com.android.support.constraint:constraint-layout:1.1.3' testImplementation 'junit:junit:4.12' + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} +repositories { + mavenCentral() } diff --git a/build.gradle b/build.gradle index 84f1757..24af20a 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { + ext.kotlin_version = '1.3.50' repositories { google() jcenter() @@ -10,7 +11,8 @@ buildscript { //classpath 'com.novoda:bintray-release:0.3.4' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files - classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' // Add this line + classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // Add this line } } diff --git a/library/build.gradle b/library/build.gradle index b9a6583..dc2f9ee 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,4 +1,6 @@ apply plugin: 'com.android.library' +apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-android' //apply plugin: 'com.novoda.bintray-release'//添加 // JitPack Maven @@ -32,5 +34,11 @@ android { dependencies { compileOnly 'com.android.support:support-annotations:28.0.0' compileOnly 'com.android.support:appcompat-v7:28.0.0' + compileOnly 'com.android.support:design:28.0.0' + compileOnly 'com.android.support.constraint:constraint-layout:1.1.3' + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} +repositories { + mavenCentral() } From 2742844eaec2a0a50fe6b56edc42957b2df7051f Mon Sep 17 00:00:00 2001 From: Allen Date: Tue, 10 Sep 2019 10:51:56 +0800 Subject: [PATCH 02/41] =?UTF-8?q?=E5=AE=8C=E5=96=84demo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../allen/supertextview/ShapeActivity.java | 81 ------------ .../com/allen/supertextview/ShapeActivity.kt | 46 +++++++ .../com/allen/supertextview/TypeActivity.java | 2 +- app/src/main/res/layout/activiy_shape.xml | 119 +++++++++++++----- 4 files changed, 137 insertions(+), 111 deletions(-) delete mode 100644 app/src/main/java/com/allen/supertextview/ShapeActivity.java create mode 100644 app/src/main/java/com/allen/supertextview/ShapeActivity.kt diff --git a/app/src/main/java/com/allen/supertextview/ShapeActivity.java b/app/src/main/java/com/allen/supertextview/ShapeActivity.java deleted file mode 100644 index aa4772b..0000000 --- a/app/src/main/java/com/allen/supertextview/ShapeActivity.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.allen.supertextview; - -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; -import android.view.View; -import android.widget.Button; -import android.widget.LinearLayout; -import android.widget.TextView; - -import com.allen.library.utils.ShapeBuilder; - -/** - *
- *      @author : Allen
- *      e-mail  : lygttpod@163.com
- *      date    : 2019/05/31
- *      desc    :
- * 
- */ -public class ShapeActivity extends AppCompatActivity { - - @Override - protected void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activiy_shape); - - Button btn = findViewById(R.id.btn); - TextView tv = findViewById(R.id.tv); - View view = findViewById(R.id.view); - LinearLayout linearLayout = findViewById(R.id.ll); - - getColorShape().into(btn); - - getColorShape().into(tv); - - getViewShape().into(view); - - getLinearLayoutShape().into(linearLayout); - - } - - private ShapeBuilder getNormalShape() { - ShapeBuilder shapeBuilder = new ShapeBuilder() - .setShapeType(ShapeBuilder.RECTANGLE) - .setShapeSolidColor(getResources().getColor(R.color.colorAccent)) - .setShapeStrokeColor(getResources().getColor(R.color.colorPrimary)) - .setShapeStrokeWidth(2) - .setShapeCornersRadius(10); - return shapeBuilder; - } - - private ShapeBuilder getColorShape() { - ShapeBuilder shapeBuilder = getNormalShape() - .setShapeUseSelector(true) - .setShapeSelectorNormalColor(getResources().getColor(R.color.colorAccent)) - .setShapeSelectorDisableColor(getResources().getColor(R.color.colorPrimary)) - .setShapeSelectorPressedColor(getResources().getColor(R.color.common_pressed)); - return shapeBuilder; - } - - private ShapeBuilder getLinearLayoutShape() { - ShapeBuilder shapeBuilder = getNormalShape() - .setShapeGradientAngle(45) - .setShapeGradientStartColor(getResources().getColor(R.color.colorAccent)) - .setShapeGradientCenterColor(getResources().getColor(R.color.white)) - .setShapeGradientEndColor(getResources().getColor(R.color.colorPrimary)); - return shapeBuilder; - } - - private ShapeBuilder getViewShape() { - ShapeBuilder shapeBuilder = getNormalShape() - .setShapeGradientAngle(315) - .setShapeGradientCenterY(10) - .setShapeGradientCenterX(10) - .setShapeGradientStartColor(getResources().getColor(R.color.colorAccent)) - .setShapeGradientEndColor(getResources().getColor(R.color.white)); - return shapeBuilder; - } - -} diff --git a/app/src/main/java/com/allen/supertextview/ShapeActivity.kt b/app/src/main/java/com/allen/supertextview/ShapeActivity.kt new file mode 100644 index 0000000..675a019 --- /dev/null +++ b/app/src/main/java/com/allen/supertextview/ShapeActivity.kt @@ -0,0 +1,46 @@ +package com.allen.supertextview + +import android.os.Bundle +import android.support.v7.app.AppCompatActivity +import com.allen.library.helper.ShapeBuilder +import kotlinx.android.synthetic.main.activiy_shape.* + +/** + *
+ * @author : Allen
+ * e-mail  : lygttpod@163.com
+ * date    : 2019/05/31
+ * desc    :
+
* + */ +class ShapeActivity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activiy_shape) + + shape_text_view.setOnClickListener { + shape_text_view.shapeBuilder.setShapeType(ShapeBuilder.RECTANGLE) + .setShapeSolidColor(resources.getColor(R.color.colorAccent)) + .setShapeStrokeColor(resources.getColor(R.color.colorPrimary)) + .setShapeStrokeWidth(2) + .setShapeCornersRadius(30f) + .into(shape_text_view) + } + + } + + /** + * 如果ShapeXXXView无法满足你的布局需求可以,使用ShapeBuilder对任何view设置shape属性 + * 用法如下: + * normalShape.into("你的任意View") + */ + private val normalShape: ShapeBuilder + get() = ShapeBuilder() + .setShapeType(ShapeBuilder.RECTANGLE) + .setShapeSolidColor(resources.getColor(R.color.colorAccent)) + .setShapeStrokeColor(resources.getColor(R.color.colorPrimary)) + .setShapeStrokeWidth(2) + .setShapeCornersRadius(30f) + +} diff --git a/app/src/main/java/com/allen/supertextview/TypeActivity.java b/app/src/main/java/com/allen/supertextview/TypeActivity.java index 183f9b2..3ad6d52 100644 --- a/app/src/main/java/com/allen/supertextview/TypeActivity.java +++ b/app/src/main/java/com/allen/supertextview/TypeActivity.java @@ -6,7 +6,7 @@ import android.view.Gravity; import com.allen.library.SuperTextView; -import com.allen.library.utils.ShapeBuilder; +import com.allen.library.helper.ShapeBuilder; import com.allen.supertextview.utils.DisplayUtils; import com.bumptech.glide.Glide; import com.bumptech.glide.load.resource.drawable.GlideDrawable; diff --git a/app/src/main/res/layout/activiy_shape.xml b/app/src/main/res/layout/activiy_shape.xml index 771027a..71a75de 100644 --- a/app/src/main/res/layout/activiy_shape.xml +++ b/app/src/main/res/layout/activiy_shape.xml @@ -1,54 +1,115 @@ -