diff --git a/ARE/app/src/main/java/com/chinalwb/are/demo/toolitems/ARE_ToolItem_MyBold.java b/ARE/app/src/main/java/com/chinalwb/are/demo/toolitems/ARE_ToolItem_MyBold.java index 995da3c..9cfb5f5 100644 --- a/ARE/app/src/main/java/com/chinalwb/are/demo/toolitems/ARE_ToolItem_MyBold.java +++ b/ARE/app/src/main/java/com/chinalwb/are/demo/toolitems/ARE_ToolItem_MyBold.java @@ -5,9 +5,7 @@ import android.widget.ImageView; import android.widget.LinearLayout; -import com.chinalwb.are.Util; import com.chinalwb.are.demo.R; -import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolitems.ARE_ToolItem_Bold; public class ARE_ToolItem_MyBold extends ARE_ToolItem_Bold { @@ -18,13 +16,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.my_bold); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.my_bold); } return mToolItemView; diff --git a/ARE/app/src/main/java/com/chinalwb/are/demo/toolitems/ARE_ToolItem_Youtube.kt b/ARE/app/src/main/java/com/chinalwb/are/demo/toolitems/ARE_ToolItem_Youtube.kt index 9567531..1a11090 100644 --- a/ARE/app/src/main/java/com/chinalwb/are/demo/toolitems/ARE_ToolItem_Youtube.kt +++ b/ARE/app/src/main/java/com/chinalwb/are/demo/toolitems/ARE_ToolItem_Youtube.kt @@ -4,14 +4,10 @@ import android.content.Context import android.view.View import android.widget.ImageView import android.widget.LinearLayout -import com.chinalwb.are.AREditText -import com.chinalwb.are.Util import com.chinalwb.are.demo.R -import com.chinalwb.are.styles.ARE_Emoji import com.chinalwb.are.styles.IARE_Style import com.chinalwb.are.styles.toolitems.ARE_ToolItem_Abstract import com.chinalwb.are.styles.toolitems.IARE_ToolItem_Updater -import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Link class ARE_ToolItem_Youtube : ARE_ToolItem_Abstract() { @@ -23,15 +19,9 @@ class ARE_ToolItem_Youtube : ARE_ToolItem_Abstract() { return mStyle ?: ARE_Style_Youtube(editText, mToolItemView as ImageView) } - override fun getView(context: Context?): View? { + override fun getView(context: Context): View? { return mToolItemView ?: { - val imageView = ImageView(context) - val size = Util.getPixelByDp(context, 40) - val params = LinearLayout.LayoutParams(size, size) - imageView.layoutParams = params - imageView.setImageResource(R.drawable.youtube) - imageView.bringToFront() - this.mToolItemView = imageView + mToolItemView = createIcon(context, R.drawable.youtube) this.mToolItemView }() } diff --git a/ARE/are/src/main/java/com/chinalwb/are/Constants.java b/ARE/are/src/main/java/com/chinalwb/are/Constants.java index 33e0ccf..5749e1d 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/Constants.java +++ b/ARE/are/src/main/java/com/chinalwb/are/Constants.java @@ -2,10 +2,6 @@ public class Constants { - public static final int CHECKED_COLOR = 0XffFF4081; // android.R.color.holo_green_light; - - public static final int UNCHECKED_COLOR = 0X00000000; // android.R.color.transparent; - public static final int COLOR_QUOTE = 0Xffcccccc; public static final String ZERO_WIDTH_SPACE_STR = "\u200B"; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/ARE_Helper.java b/ARE/are/src/main/java/com/chinalwb/are/styles/ARE_Helper.java index f378aa9..721c142 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/ARE_Helper.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/ARE_Helper.java @@ -1,24 +1,20 @@ package com.chinalwb.are.styles; -import com.chinalwb.are.Constants; - import android.view.View; -import android.widget.ImageView; public class ARE_Helper { - /** - * Updates the check status. - * - * @param areStyle - * @param checked - */ - public static void updateCheckStatus(IARE_Style areStyle, boolean checked) { - areStyle.setChecked(checked); - View imageView = areStyle.getImageView(); - int color = checked ? Constants.CHECKED_COLOR : Constants.UNCHECKED_COLOR; - imageView.setBackgroundColor(color); - } - - + /** + * Updates the check status. + * + * @param areStyle + * @param checked + */ + public static void updateCheckStatus(IARE_Style areStyle, boolean checked) { + areStyle.setChecked(checked); + View imageView = areStyle.getImageView(); + imageView.setSelected(checked); + } + + } diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolbar/ARE_ToolbarDefault.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolbar/ARE_ToolbarDefault.java index 6d4f666..81e1df5 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolbar/ARE_ToolbarDefault.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolbar/ARE_ToolbarDefault.java @@ -1,8 +1,8 @@ package com.chinalwb.are.styles.toolbar; -import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.content.res.TypedArray; import android.util.AttributeSet; import android.view.Gravity; import android.view.View; @@ -10,12 +10,15 @@ import android.widget.LinearLayout; import com.chinalwb.are.AREditText; +import com.chinalwb.are.R; import com.chinalwb.are.Util; import com.chinalwb.are.styles.toolitems.IARE_ToolItem; import java.util.ArrayList; import java.util.List; +import androidx.annotation.DrawableRes; + /** * Created by wliu on 13/08/2018. */ @@ -29,6 +32,11 @@ public class ARE_ToolbarDefault extends HorizontalScrollView implements IARE_Too private AREditText mAREditText; + @DrawableRes + private int mIconBackground; + private int mIconSize; + private int mIconMargin; + public ARE_ToolbarDefault(Context context) { this(context, null); } @@ -39,13 +47,13 @@ public ARE_ToolbarDefault(Context context, AttributeSet attrs) { public ARE_ToolbarDefault(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); - this.mContext = (Activity) context; - initSelf(); + this.mContext = context; + initSelf(context, attrs); } @Override public void addToolbarItem(IARE_ToolItem toolbarItem) { - toolbarItem.setToolbar(this); + toolbarItem.setToolbar(this, mIconBackground, mIconSize, mIconMargin); mToolItems.add(toolbarItem); View view = toolbarItem.getView(mContext); if (view != null) { @@ -75,11 +83,18 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) { } } - private void initSelf() { + private void initSelf(Context context, AttributeSet attrs) { mContainer = new LinearLayout(mContext); LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); mContainer.setGravity(Gravity.CENTER_VERTICAL); mContainer.setLayoutParams(params); this.addView(mContainer); + + TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.ARE_ToolbarDefault); + mIconBackground = ta.getResourceId(R.styleable.ARE_ToolbarDefault_toolbarIconBackground, R.drawable.background_icon); + mIconSize = ta.getDimensionPixelSize(R.styleable.ARE_ToolbarDefault_toolbarIconSize, Util.getPixelByDp(context, 40)); + mIconMargin = ta.getDimensionPixelSize(R.styleable.ARE_ToolbarDefault_toolbarIconMargin, 0); + + ta.recycle(); } } diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Abstract.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Abstract.java index 45cb20b..99c9af2 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Abstract.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Abstract.java @@ -1,17 +1,22 @@ package com.chinalwb.are.styles.toolitems; +import android.content.Context; import android.content.Intent; +import android.os.Build; import android.text.Editable; import android.view.View; import android.widget.EditText; +import android.widget.ImageView; +import android.widget.LinearLayout; import com.chinalwb.are.AREditText; -import com.chinalwb.are.AREditor; import com.chinalwb.are.Util; -import com.chinalwb.are.spans.AreQuoteSpan; import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolbar.IARE_Toolbar; +import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; + /** * Created by wliu on 13/08/2018. */ @@ -25,6 +30,10 @@ public abstract class ARE_ToolItem_Abstract implements IARE_ToolItem { protected IARE_ToolItem_Updater mToolItemUpdater; private IARE_Toolbar mToolbar; + @DrawableRes + protected int mIconBackground; + protected int mIconSize; + protected int mIconMargin; @Override public IARE_Toolbar getToolbar() { @@ -32,8 +41,10 @@ public IARE_Toolbar getToolbar() { } @Override - public void setToolbar(IARE_Toolbar toolbar) { + public void setToolbar(IARE_Toolbar toolbar, @DrawableRes int iconBackground, int iconSize, int iconMargin) { mToolbar = toolbar; + mIconBackground = iconBackground; + mIconSize = iconSize; } @Override @@ -52,6 +63,19 @@ public AREditText getEditText() { return mToolbar.getEditText(); } + protected ImageView createIcon(@NonNull Context context, @DrawableRes int resIcon) { + ImageView imageView = new ImageView(context); + LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(mIconSize, mIconSize); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { + params.setMarginEnd(mIconMargin); + params.setMarginStart(mIconMargin); + } + imageView.setLayoutParams(params); + imageView.setBackgroundResource(mIconBackground); + imageView.setImageResource(resIcon); + imageView.bringToFront(); + return imageView; + } protected void printSpans(Class clazz) { diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_AlignmentCenter.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_AlignmentCenter.java index ea34959..a11a7db 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_AlignmentCenter.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_AlignmentCenter.java @@ -4,11 +4,9 @@ import android.text.Layout; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Alignment; @@ -38,13 +36,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.aligncenter); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.aligncenter); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_AlignmentLeft.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_AlignmentLeft.java index 9f34da0..cee0e2a 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_AlignmentLeft.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_AlignmentLeft.java @@ -4,14 +4,11 @@ import android.text.Layout; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Alignment; -import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Hr; /** * Created by wliu on 13/08/2018. @@ -39,13 +36,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.alignleft); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.alignleft); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_AlignmentRight.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_AlignmentRight.java index a276ee9..c837ebd 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_AlignmentRight.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_AlignmentRight.java @@ -4,11 +4,9 @@ import android.text.Layout; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Alignment; @@ -38,13 +36,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.alignright); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.alignright); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_At.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_At.java index 62a6de0..eac54ba 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_At.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_At.java @@ -3,20 +3,12 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.net.Uri; import android.view.View; -import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; -import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.models.AtItem; -import com.chinalwb.are.spans.AreImageSpan; -import com.chinalwb.are.styles.ARE_At; import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_At; -import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Image; /** * Created by wliu on 13/08/2018. diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_BackgroundColor.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_BackgroundColor.java index 162e87d..e6db05f 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_BackgroundColor.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_BackgroundColor.java @@ -3,17 +3,12 @@ import android.content.Context; import android.text.Editable; import android.text.style.BackgroundColorSpan; -import android.text.style.CharacterStyle; -import android.text.style.BackgroundColorSpan; -import android.text.style.StyleSpan; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; import com.chinalwb.are.Constants; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_BackgroundColor; @@ -22,7 +17,7 @@ public class ARE_ToolItem_BackgroundColor extends ARE_ToolItem_Abstract { @Override public IARE_ToolItem_Updater getToolItemUpdater() { if (mToolItemUpdater == null) { - mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, Constants.CHECKED_COLOR, Constants.UNCHECKED_COLOR); + mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, mIconBackground, mIconSize); setToolItemUpdater(mToolItemUpdater); } return mToolItemUpdater; @@ -44,13 +39,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.background); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.background); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Bold.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Bold.java index 55bb078..d9c130a 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Bold.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Bold.java @@ -6,12 +6,9 @@ import android.text.style.StyleSpan; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; -import com.chinalwb.are.Constants; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Bold; @@ -24,7 +21,7 @@ public class ARE_ToolItem_Bold extends ARE_ToolItem_Abstract { @Override public IARE_ToolItem_Updater getToolItemUpdater() { if (mToolItemUpdater == null) { - mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, Constants.CHECKED_COLOR, Constants.UNCHECKED_COLOR); + mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, mIconBackground, mIconSize); setToolItemUpdater(mToolItemUpdater); } return mToolItemUpdater; @@ -46,13 +43,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.bold); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.bold); } return mToolItemView; @@ -76,27 +67,27 @@ public void onSelectionChanged(int selStart, int selEnd) { } } } else { - // - // Selection is a range - CharacterStyle[] styleSpans = editable.getSpans(selStart, selEnd, CharacterStyle.class); + // + // Selection is a range + CharacterStyle[] styleSpans = editable.getSpans(selStart, selEnd, CharacterStyle.class); - for (int i = 0; i < styleSpans.length; i++) { + for (int i = 0; i < styleSpans.length; i++) { - if (styleSpans[i] instanceof StyleSpan) { - if (((StyleSpan) styleSpans[i]).getStyle() == android.graphics.Typeface.BOLD) { - if (editable.getSpanStart(styleSpans[i]) <= selStart - && editable.getSpanEnd(styleSpans[i]) >= selEnd) { - boldExists = true; - } - } else if (((StyleSpan) styleSpans[i]).getStyle() == android.graphics.Typeface.BOLD_ITALIC) { + if (styleSpans[i] instanceof StyleSpan) { + if (((StyleSpan) styleSpans[i]).getStyle() == android.graphics.Typeface.BOLD) { + if (editable.getSpanStart(styleSpans[i]) <= selStart + && editable.getSpanEnd(styleSpans[i]) >= selEnd) { + boldExists = true; + } + } else if (((StyleSpan) styleSpans[i]).getStyle() == android.graphics.Typeface.BOLD_ITALIC) { if (editable.getSpanStart(styleSpans[i]) <= selStart && editable.getSpanEnd(styleSpans[i]) >= selEnd) { boldExists = true; } } - } - } - } + } + } + } mToolItemUpdater.onCheckStatusUpdate(boldExists); } diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_FontColor.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_FontColor.java index 09be2f2..391f956 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_FontColor.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_FontColor.java @@ -2,15 +2,11 @@ import android.content.Context; import android.text.Editable; -import android.text.style.CharacterStyle; -import android.text.style.StyleSpan; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.spans.AreForegroundColorSpan; import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_FontColor; @@ -31,13 +27,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 35); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.foregroundcolor); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.foregroundcolor); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_FontSize.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_FontSize.java index 7168af9..47aaa1e 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_FontSize.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_FontSize.java @@ -3,11 +3,9 @@ import android.content.Context; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_FontSize; @@ -27,13 +25,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.fontsize); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.fontsize); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Hr.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Hr.java index b38e220..11f047a 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Hr.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Hr.java @@ -3,14 +3,11 @@ import android.content.Context; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Hr; -import com.chinalwb.are.styles.toolitems.styles.ARE_Style_ListBullet; /** * Created by wliu on 13/08/2018. @@ -38,13 +35,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.hr); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.hr); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Image.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Image.java index f410508..a894c96 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Image.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Image.java @@ -4,29 +4,16 @@ import android.content.Context; import android.content.Intent; import android.net.Uri; -import android.text.Editable; -import android.text.style.CharacterStyle; -import android.text.style.StyleSpan; -import android.util.Log; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; -import com.chinalwb.are.Constants; import com.chinalwb.are.R; -import com.chinalwb.are.Util; -import com.chinalwb.are.activities.Are_VideoPlayerActivity; -import com.chinalwb.are.models.AtItem; import com.chinalwb.are.spans.AreImageSpan; import com.chinalwb.are.strategies.ImageStrategy; -import com.chinalwb.are.styles.ARE_At; import com.chinalwb.are.styles.IARE_Style; -import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Bold; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Image; -import java.io.File; - /** * Created by wliu on 13/08/2018. */ @@ -53,13 +40,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.image); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.image); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Italic.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Italic.java index b370804..c57dd8b 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Italic.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Italic.java @@ -7,14 +7,10 @@ import android.text.style.StyleSpan; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; -import com.chinalwb.are.Constants; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.styles.IARE_Style; -import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Bold; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Italic; /** @@ -26,7 +22,7 @@ public class ARE_ToolItem_Italic extends ARE_ToolItem_Abstract { @Override public IARE_ToolItem_Updater getToolItemUpdater() { if (mToolItemUpdater == null) { - mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, Constants.CHECKED_COLOR, Constants.UNCHECKED_COLOR); + mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, mIconBackground, mIconSize); setToolItemUpdater(mToolItemUpdater); } return mToolItemUpdater; @@ -48,13 +44,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.italic); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.italic); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Link.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Link.java index f426e64..127c92c 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Link.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Link.java @@ -3,13 +3,10 @@ import android.content.Context; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.styles.IARE_Style; -import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Hr; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Link; /** @@ -38,13 +35,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.link); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.link); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_ListBullet.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_ListBullet.java index 689d5f7..6078efc 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_ListBullet.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_ListBullet.java @@ -3,14 +3,11 @@ import android.content.Context; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_ListBullet; -import com.chinalwb.are.styles.toolitems.styles.ARE_Style_ListNumber; /** * Created by wliu on 13/08/2018. @@ -38,13 +35,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.listbullet); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.listbullet); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_ListNumber.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_ListNumber.java index c10e23a..0cb3c55 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_ListNumber.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_ListNumber.java @@ -1,20 +1,13 @@ package com.chinalwb.are.styles.toolitems; import android.content.Context; -import android.text.Editable; -import android.text.style.QuoteSpan; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; -import com.chinalwb.are.Constants; import com.chinalwb.are.R; -import com.chinalwb.are.Util; -import com.chinalwb.are.spans.AreQuoteSpan; import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_ListNumber; -import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Quote; /** * Created by wliu on 13/08/2018. @@ -42,13 +35,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.listnumber); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.listnumber); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Quote.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Quote.java index 1bde8d4..2fb5e92 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Quote.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Quote.java @@ -2,20 +2,14 @@ import android.content.Context; import android.text.Editable; -import android.text.style.CharacterStyle; import android.text.style.QuoteSpan; -import android.text.style.StyleSpan; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; -import com.chinalwb.are.Constants; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.spans.AreQuoteSpan; import com.chinalwb.are.styles.IARE_Style; -import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Bold; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Quote; /** @@ -27,7 +21,7 @@ public class ARE_ToolItem_Quote extends ARE_ToolItem_Abstract { @Override public IARE_ToolItem_Updater getToolItemUpdater() { if (mToolItemUpdater == null) { - mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, Constants.CHECKED_COLOR, Constants.UNCHECKED_COLOR); + mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, mIconBackground, mIconSize); setToolItemUpdater(mToolItemUpdater); } return mToolItemUpdater; @@ -49,13 +43,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.quote); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.quote); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Strikethrough.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Strikethrough.java index 2d230b3..8196d08 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Strikethrough.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Strikethrough.java @@ -6,16 +6,11 @@ import android.text.style.StrikethroughSpan; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; -import com.chinalwb.are.Constants; import com.chinalwb.are.R; -import com.chinalwb.are.Util; -import com.chinalwb.are.spans.AreUnderlineSpan; import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Strikethrough; -import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Underline; /** * Created by wliu on 13/08/2018. @@ -26,7 +21,7 @@ public class ARE_ToolItem_Strikethrough extends ARE_ToolItem_Abstract { @Override public IARE_ToolItem_Updater getToolItemUpdater() { if (mToolItemUpdater == null) { - mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, Constants.CHECKED_COLOR, Constants.UNCHECKED_COLOR); + mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, mIconBackground, mIconSize); setToolItemUpdater(mToolItemUpdater); } return mToolItemUpdater; @@ -48,13 +43,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.strikethrough); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.strikethrough); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Subscript.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Subscript.java index 386b280..71c5668 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Subscript.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Subscript.java @@ -4,17 +4,12 @@ import android.text.Editable; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; -import com.chinalwb.are.Constants; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.spans.AreSubscriptSpan; -import com.chinalwb.are.spans.AreSuperscriptSpan; import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Subscript; -import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Superscript; /** * Created by wliu on 13/08/2018. @@ -25,7 +20,7 @@ public class ARE_ToolItem_Subscript extends ARE_ToolItem_Abstract { @Override public IARE_ToolItem_Updater getToolItemUpdater() { if (mToolItemUpdater == null) { - mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, Constants.CHECKED_COLOR, Constants.UNCHECKED_COLOR); + mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, mIconBackground, mIconSize); setToolItemUpdater(mToolItemUpdater); } return mToolItemUpdater; @@ -47,13 +42,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 30); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.subscript); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.subscript); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Superscript.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Superscript.java index f434def..dc0ac02 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Superscript.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Superscript.java @@ -2,19 +2,13 @@ import android.content.Context; import android.text.Editable; -import android.text.style.CharacterStyle; -import android.text.style.StyleSpan; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; -import com.chinalwb.are.Constants; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.spans.AreSuperscriptSpan; import com.chinalwb.are.styles.IARE_Style; -import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Bold; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Superscript; /** @@ -26,7 +20,7 @@ public class ARE_ToolItem_Superscript extends ARE_ToolItem_Abstract { @Override public IARE_ToolItem_Updater getToolItemUpdater() { if (mToolItemUpdater == null) { - mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, Constants.CHECKED_COLOR, Constants.UNCHECKED_COLOR); + mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, mIconBackground, mIconSize); setToolItemUpdater(mToolItemUpdater); } return mToolItemUpdater; @@ -48,13 +42,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 30); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.superscript); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.superscript); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Underline.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Underline.java index 3f41a6d..8da9ce1 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Underline.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Underline.java @@ -1,21 +1,15 @@ package com.chinalwb.are.styles.toolitems; import android.content.Context; -import android.graphics.Typeface; import android.text.Editable; import android.text.style.CharacterStyle; -import android.text.style.StyleSpan; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; -import com.chinalwb.are.Constants; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.spans.AreUnderlineSpan; import com.chinalwb.are.styles.IARE_Style; -import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Italic; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Underline; /** @@ -27,7 +21,7 @@ public class ARE_ToolItem_Underline extends ARE_ToolItem_Abstract { @Override public IARE_ToolItem_Updater getToolItemUpdater() { if (mToolItemUpdater == null) { - mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, Constants.CHECKED_COLOR, Constants.UNCHECKED_COLOR); + mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, mIconBackground, mIconSize); setToolItemUpdater(mToolItemUpdater); } return mToolItemUpdater; @@ -49,13 +43,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 40); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.underline); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.underline); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_UpdaterDefault.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_UpdaterDefault.java index df6a677..55aaec7 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_UpdaterDefault.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_UpdaterDefault.java @@ -4,6 +4,8 @@ import com.chinalwb.are.styles.IARE_Style; +import androidx.annotation.DrawableRes; + /** * The default tool item check status updater. */ @@ -11,14 +13,14 @@ public class ARE_ToolItem_UpdaterDefault implements IARE_ToolItem_Updater { private IARE_ToolItem mToolItem; - private int mCheckedColor; - - private int mUncheckedColor; + @DrawableRes + private final int mIconBackground; + private final int mIconSize; - public ARE_ToolItem_UpdaterDefault(IARE_ToolItem toolItem, int checkedColor, int uncheckedColor) { + public ARE_ToolItem_UpdaterDefault(IARE_ToolItem toolItem, @DrawableRes int iconBackground, int iconSize) { mToolItem = toolItem; - mCheckedColor = checkedColor; - mUncheckedColor = uncheckedColor; + mIconBackground = iconBackground; + mIconSize = iconSize; } @Override @@ -26,7 +28,7 @@ public void onCheckStatusUpdate(boolean checked) { IARE_Style areStyle = mToolItem.getStyle(); areStyle.setChecked(checked); View view = mToolItem.getView(null); - int color = checked ? mCheckedColor : mUncheckedColor; - view.setBackgroundColor(color); + view.setBackgroundResource(mIconBackground); + view.setSelected(checked); } } diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Video.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Video.java index 9a7efd3..976605f 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Video.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Video.java @@ -6,15 +6,12 @@ import android.net.Uri; import android.view.View; import android.widget.ImageView; -import android.widget.LinearLayout; import com.chinalwb.are.AREditText; import com.chinalwb.are.R; -import com.chinalwb.are.Util; import com.chinalwb.are.activities.Are_VideoPlayerActivity; import com.chinalwb.are.strategies.VideoStrategy; import com.chinalwb.are.styles.IARE_Style; -import com.chinalwb.are.styles.toolbar.ARE_Toolbar; import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Video; /** @@ -43,13 +40,7 @@ public View getView(Context context) { return mToolItemView; } if (mToolItemView == null) { - ImageView imageView = new ImageView(context); - int size = Util.getPixelByDp(context, 30); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size); - imageView.setLayoutParams(params); - imageView.setImageResource(R.drawable.video); - imageView.bringToFront(); - mToolItemView = imageView; + mToolItemView = createIcon(context, R.drawable.video); } return mToolItemView; diff --git a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/IARE_ToolItem.java b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/IARE_ToolItem.java index 9424cce..31b2b9c 100644 --- a/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/IARE_ToolItem.java +++ b/ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/IARE_ToolItem.java @@ -4,10 +4,11 @@ import android.content.Intent; import android.view.View; -import com.chinalwb.are.AREditText; import com.chinalwb.are.styles.IARE_Style; import com.chinalwb.are.styles.toolbar.IARE_Toolbar; +import androidx.annotation.DrawableRes; + /** * Created by wliu on 13/08/2018. */ @@ -42,7 +43,7 @@ public interface IARE_ToolItem { /** * Sets the toolbar for this tool item. */ - public void setToolbar(IARE_Toolbar toolbar); + public void setToolbar(IARE_Toolbar toolbar, @DrawableRes int iconBackground, int iconSize, int iconMargin); /** * Gets the tool item updater instance, will be called when style being checked and unchecked. diff --git a/ARE/are/src/main/res/drawable/background_icon.xml b/ARE/are/src/main/res/drawable/background_icon.xml new file mode 100644 index 0000000..3fef514 --- /dev/null +++ b/ARE/are/src/main/res/drawable/background_icon.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ARE/are/src/main/res/layout/are_toolbar.xml b/ARE/are/src/main/res/layout/are_toolbar.xml index 12cdb98..f2e6538 100644 --- a/ARE/are/src/main/res/layout/are_toolbar.xml +++ b/ARE/are/src/main/res/layout/are_toolbar.xml @@ -8,58 +8,59 @@ android:id="@+id/rteColorPalette" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_centerHorizontal="true" android:background="@android:color/background_light" android:padding="10dp" - android:layout_centerHorizontal="true" android:visibility="gone" + colorPickerView:colorViewCheckedType="checkMark" colorPickerView:colorViewHeight="30dp" - colorPickerView:colorViewWidth="30dp" colorPickerView:colorViewMarginLeft="2dp" colorPickerView:colorViewMarginRight="2dp" - colorPickerView:colorViewCheckedType="checkMark" - colorPickerView:colors="@array/colorPickerColors" - /> + colorPickerView:colorViewWidth="30dp" + colorPickerView:colors="@array/colorPickerColors" /> + + android:background="?attr/colorPrimary" + android:orientation="horizontal"> + android:visibility="gone" /> + android:visibility="visible" /> + android:visibility="gone" /> @@ -67,6 +68,7 @@ android:id="@+id/rteItalic" android:layout_width="40dp" android:layout_height="40dp" + android:background="@drawable/background_icon" android:padding="5dp" android:src="@drawable/italic" /> @@ -74,6 +76,7 @@ android:id="@+id/rteUnderline" android:layout_width="40dp" android:layout_height="40dp" + android:background="@drawable/background_icon" android:padding="5dp" android:src="@drawable/underline" /> @@ -81,6 +84,7 @@ android:id="@+id/rteStrikethrough" android:layout_width="40dp" android:layout_height="40dp" + android:background="@drawable/background_icon" android:padding="5dp" android:src="@drawable/strikethrough" /> @@ -88,6 +92,7 @@ android:id="@+id/rteHr" android:layout_width="40dp" android:layout_height="40dp" + android:background="@drawable/background_icon" android:padding="5dp" android:src="@drawable/hr" /> @@ -96,6 +101,7 @@ android:id="@+id/rteSubscript" android:layout_width="40dp" android:layout_height="40dp" + android:background="@drawable/background_icon" android:padding="5dp" android:src="@drawable/subscript" /> @@ -103,6 +109,7 @@ android:id="@+id/rteSuperscript" android:layout_width="40dp" android:layout_height="40dp" + android:background="@drawable/background_icon" android:padding="5dp" android:src="@drawable/superscript" /> @@ -110,6 +117,7 @@ android:id="@+id/rteQuote" android:layout_width="40dp" android:layout_height="40dp" + android:background="@drawable/background_icon" android:padding="5dp" android:src="@drawable/quote" /> @@ -118,6 +126,7 @@ android:id="@+id/rteFontColor" android:layout_width="40dp" android:layout_height="40dp" + android:background="@drawable/background_icon" android:padding="5dp" android:src="@drawable/foregroundcolor" /> @@ -125,22 +134,23 @@ android:id="@+id/rteBackground" android:layout_width="40dp" android:layout_height="40dp" + android:background="@drawable/background_icon" android:padding="5dp" - android:src="@drawable/background" - /> + android:src="@drawable/background" /> + android:src="@drawable/ic_insert_link_black_48dp" /> @@ -148,6 +158,7 @@ android:id="@+id/rteListBullet" android:layout_width="40dp" android:layout_height="40dp" + android:background="@drawable/background_icon" android:padding="5dp" android:src="@drawable/listbullet" /> @@ -155,24 +166,25 @@ android:id="@+id/rteIndentRight" android:layout_width="40dp" android:layout_height="40dp" + android:background="@drawable/background_icon" android:padding="5dp" android:src="@drawable/indentright" - android:visibility="gone" - /> + android:visibility="gone" /> + android:visibility="gone" /> @@ -180,6 +192,7 @@ android:id="@+id/rteAlignCenter" android:layout_width="40dp" android:layout_height="40dp" + android:background="@drawable/background_icon" android:padding="5dp" android:src="@drawable/aligncenter" /> @@ -187,6 +200,7 @@ android:id="@+id/rteAlignRight" android:layout_width="40dp" android:layout_height="40dp" + android:background="@drawable/background_icon" android:padding="5dp" android:src="@drawable/alignright" /> @@ -194,6 +208,7 @@ android:id="@+id/rteInsertImage" android:layout_width="40dp" android:layout_height="40dp" + android:background="@drawable/background_icon" android:padding="5dp" android:src="@drawable/image" /> @@ -201,27 +216,29 @@ android:id="@+id/rteInsertVideo" android:layout_width="40dp" android:layout_height="40dp" + android:background="@drawable/background_icon" android:padding="5dp" - android:src="@drawable/video" - /> + android:src="@drawable/video" /> + + android:visibility="gone"> \ No newline at end of file diff --git a/ARE/are/src/main/res/values/attrs.xml b/ARE/are/src/main/res/values/attrs.xml index a6a3db0..b1f4cb3 100644 --- a/ARE/are/src/main/res/values/attrs.xml +++ b/ARE/are/src/main/res/values/attrs.xml @@ -21,6 +21,12 @@ + + + + + +