diff --git a/app/build.gradle b/app/build.gradle index 9221d4b..1974723 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -42,7 +42,7 @@ dependencies { implementation 'com.google.code.gson:gson:2.8.5' -// implementation 'com.github.yuruiyin:RichEditor:0.1.9' +// implementation 'com.github.yuruiyin:RichEditor:0.2.0' implementation 'com.google.android:flexbox:1.0.0' } diff --git a/app/src/main/java/com/yuruiyin/richeditor/sample/MainActivity.kt b/app/src/main/java/com/yuruiyin/richeditor/sample/MainActivity.kt index a268b1e..974212c 100644 --- a/app/src/main/java/com/yuruiyin/richeditor/sample/MainActivity.kt +++ b/app/src/main/java/com/yuruiyin/richeditor/sample/MainActivity.kt @@ -410,7 +410,7 @@ class MainActivity : AppCompatActivity() { ) { // val blockImageSpanVm = BlockImageSpanVm(this, imageVm) // 不指定宽高,使用组件默认宽高 val blockImageSpanVm = - BlockImageSpanVm(blockImageSpanObtainObject, imageWidth, imageMaxHeight) // 指定宽高 + BlockImageSpanVm(blockImageSpanObtainObject, imageWidth) // 指定宽高 blockImageSpanVm.isFromDraft = isFromDraft richEditText.insertBlockImage(realImagePath, blockImageSpanVm) { blockImageSpan -> val spanObtainObject = blockImageSpan.blockImageSpanVm.spanObject diff --git a/build.gradle b/build.gradle index 15c6b4d..e40a762 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.4.0' + classpath 'com.android.tools.build:gradle:3.5.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 56ffcfa..66957c2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon Apr 29 10:57:31 CST 2019 +#Tue Aug 27 11:43:20 CST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip diff --git a/richeditor/src/main/java/com/yuruiyin/richeditor/RichEditText.java b/richeditor/src/main/java/com/yuruiyin/richeditor/RichEditText.java index c1ddca8..3ff5a30 100644 --- a/richeditor/src/main/java/com/yuruiyin/richeditor/RichEditText.java +++ b/richeditor/src/main/java/com/yuruiyin/richeditor/RichEditText.java @@ -64,8 +64,6 @@ public class RichEditText extends LineHeightEditText { private int imageSpanPaddingBottom; private int imageSpanPaddingLeft; private int imageSpanPaddingRight; - // 内部限制的图片最大高度 - private int internalImageMaxHeight; // 是否显示视频标识 private boolean gIsShowVideoMark; @@ -169,7 +167,6 @@ private void init(Context context, AttributeSet attrs) { imageSpanPaddingBottom = (int) mContext.getResources().getDimension(R.dimen.rich_editor_image_span_padding_bottom); imageSpanPaddingLeft = (int) mContext.getResources().getDimension(R.dimen.rich_editor_image_span_padding_left); imageSpanPaddingRight = (int) mContext.getResources().getDimension(R.dimen.rich_editor_image_span_padding_right); - internalImageMaxHeight = (int) mContext.getResources().getDimension(R.dimen.rich_editor_image_max_height); mRichInputConnection = new RichInputConnectionWrapper(null, true); setMovementMethod(new LongClickableLinkMovementMethod()); @@ -315,11 +312,10 @@ public void insertBlockImage(Drawable drawable, @NonNull BlockImageSpanVm blockI int editTextWidth = getWidthWithoutPadding(); int imageWidth = blockImageSpanVm.getWidth(); int resImageWidth = imageWidth > editTextWidth ? editTextWidth : imageWidth; - int imageMaxHeight = blockImageSpanVm.getMaxHeight() > internalImageMaxHeight - ? internalImageMaxHeight : blockImageSpanVm.getMaxHeight(); + int imageMaxHeight = blockImageSpanVm.getMaxHeight(); int resImageHeight = (int) (originHeight * 1.0 / originWidth * resImageWidth); resImageHeight = resImageHeight > imageMaxHeight ? imageMaxHeight : resImageHeight; - // 控制显示出来的图片的高度不会大于宽度的2倍 + // 控制显示出来的图片的高度不会大于宽度的3倍 double maxHeightWidthRadio = AppConfig.IMAGE_MAX_HEIGHT_WIDTH_RATIO; resImageHeight = resImageHeight > resImageWidth * maxHeightWidthRadio ? (int) (resImageWidth * maxHeightWidthRadio) diff --git a/richeditor/src/main/java/com/yuruiyin/richeditor/model/BlockImageSpanVm.java b/richeditor/src/main/java/com/yuruiyin/richeditor/model/BlockImageSpanVm.java index eaa89bf..fb48fbc 100644 --- a/richeditor/src/main/java/com/yuruiyin/richeditor/model/BlockImageSpanVm.java +++ b/richeditor/src/main/java/com/yuruiyin/richeditor/model/BlockImageSpanVm.java @@ -3,6 +3,7 @@ import android.content.Context; import com.yuruiyin.richeditor.R; +import com.yuruiyin.richeditor.config.AppConfig; /** * Title: BlockImageSpan 相关数据 @@ -54,8 +55,8 @@ public class BlockImageSpanVm { private boolean isFromDraft; public BlockImageSpanVm(Context context, T spanObject) { - this.width = (int) context.getResources().getDimension(R.dimen.rich_editor_image_width); - this.maxHeight = (int) context.getResources().getDimension(R.dimen.rich_editor_image_max_height); + this.width = (int) context.getResources().getDimension(R.dimen.rich_editor_default_image_width); + this.maxHeight = (int) (this.width * AppConfig.IMAGE_MAX_HEIGHT_WIDTH_RATIO); this.spanObject = spanObject; } @@ -65,6 +66,12 @@ public BlockImageSpanVm(T spanObject, int width, int maxHeight) { this.spanObject = spanObject; } + public BlockImageSpanVm(T spanObject, int width) { + this.width = width; + this.maxHeight = (int) (width * AppConfig.IMAGE_MAX_HEIGHT_WIDTH_RATIO); + this.spanObject = spanObject; + } + public int getWidth() { return width; } diff --git a/richeditor/src/main/res/values/dimens.xml b/richeditor/src/main/res/values/dimens.xml index 9358b0d..a36fadb 100644 --- a/richeditor/src/main/res/values/dimens.xml +++ b/richeditor/src/main/res/values/dimens.xml @@ -22,9 +22,8 @@ 1dp 1dp - - 120dp - 640dp + + 120dp 10dp