Skip to content

Commit

Permalink
富文本编辑时,添加和删除图片会有动画
Browse files Browse the repository at this point in the history
  • Loading branch information
sendtion committed Dec 2, 2018
1 parent a404ede commit ec5f5ad
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 31 deletions.
9 changes: 4 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,12 @@
buildscript {
repositories {
google()
//jcenter()
jcenter()
//mavenCentral()
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'}
//maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Expand All @@ -24,9 +23,9 @@ buildscript {
allprojects {
repositories {
google()
//jcenter()
jcenter()
//mavenCentral()
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'}
//maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'}
maven { url 'https://jitpack.io' }
}
}
Expand Down
1 change: 0 additions & 1 deletion xrichtext/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'

android {
compileSdkVersion 27
Expand Down
51 changes: 26 additions & 25 deletions xrichtext/src/main/java/com/sendtion/xrichtext/RichTextEditor.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.ImageView;
Expand Down Expand Up @@ -116,7 +117,7 @@ public RichTextEditor(Context context, AttributeSet attrs, int defStyleAttr) {
allLayout = new LinearLayout(context);
allLayout.setOrientation(LinearLayout.VERTICAL);
//allLayout.setBackgroundColor(Color.WHITE);
//setupLayoutTransitions();//禁止载入动画
setupLayoutTransitions();//禁止载入动画
LayoutParams layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT);
allLayout.setPadding(50,15,50,15);//设置间距,防止生成图片时文字太靠边,不能用margin,否则有黑边
Expand Down Expand Up @@ -203,9 +204,9 @@ private void onBackspacePress(EditText editTxt) {
String str2 = preEdit.getText().toString();

// 合并文本view时,不需要transition动画
//allLayout.setLayoutTransition(null);
allLayout.setLayoutTransition(null);
allLayout.removeView(editTxt);
//allLayout.setLayoutTransition(mTransitioner); // 恢复transition动画
allLayout.setLayoutTransition(mTransitioner); // 恢复transition动画

// 文本合并
preEdit.setText(str2 + str1);
Expand Down Expand Up @@ -241,7 +242,7 @@ public void setOnRtImageClickListener(OnRtImageClickListener onRtImageClickListe
* @type 删除类型 0代表backspace删除 1代表按红叉按钮删除
*/
private void onImageCloseClick(View view) {
//if (!mTransitioner.isRunning()) {
if (!mTransitioner.isRunning()) {
disappearingImageIndex = allLayout.indexOfChild(view);
//删除文件夹里的图片
List<EditData> dataList = buildEditData();
Expand All @@ -257,7 +258,7 @@ private void onImageCloseClick(View view) {
}
allLayout.removeView(view);
mergeEditText();//合并上下EditText内容
//}
}
}

/**
Expand Down Expand Up @@ -545,26 +546,26 @@ public Bitmap getScaledBitmap(String filePath, int width) {
*/
private void setupLayoutTransitions() {
mTransitioner = new LayoutTransition();
//allLayout.setLayoutTransition(mTransitioner);
// mTransitioner.addTransitionListener(new TransitionListener() {
//
// @Override
// public void startTransition(LayoutTransition transition,
// ViewGroup container, View view, int transitionType) {
//
// }
//
// @Override
// public void endTransition(LayoutTransition transition,
// ViewGroup container, View view, int transitionType) {
// if (!transition.isRunning()
// && transitionType == LayoutTransition.CHANGE_DISAPPEARING) {
// // transition动画结束,合并EditText
// // mergeEditText();
// }
// }
// });
// mTransitioner.setDuration(300);
allLayout.setLayoutTransition(mTransitioner);
mTransitioner.addTransitionListener(new LayoutTransition.TransitionListener() {

@Override
public void startTransition(LayoutTransition transition,
ViewGroup container, View view, int transitionType) {

}

@Override
public void endTransition(LayoutTransition transition,
ViewGroup container, View view, int transitionType) {
if (!transition.isRunning()
&& transitionType == LayoutTransition.CHANGE_DISAPPEARING) {
// transition动画结束,合并EditText
mergeEditText();
}
}
});
mTransitioner.setDuration(300);
}

/**
Expand Down

0 comments on commit ec5f5ad

Please sign in to comment.