Skip to content

Commit 050b5df

Browse files
committed
Add attributes to customize icon size and background
1 parent 7fe161e commit 050b5df

31 files changed

+147
-187
lines changed

ARE/app/src/main/java/com/chinalwb/are/demo/toolitems/ARE_ToolItem_MyBold.java

+1-4
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
import android.widget.ImageView;
66
import android.widget.LinearLayout;
77

8-
import com.chinalwb.are.Util;
98
import com.chinalwb.are.demo.R;
10-
import com.chinalwb.are.styles.IARE_Style;
119
import com.chinalwb.are.styles.toolitems.ARE_ToolItem_Bold;
1210

1311
public class ARE_ToolItem_MyBold extends ARE_ToolItem_Bold {
@@ -19,8 +17,7 @@ public View getView(Context context) {
1917
}
2018
if (mToolItemView == null) {
2119
ImageView imageView = new ImageView(context);
22-
int size = Util.getPixelByDp(context, 40);
23-
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size);
20+
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(mIconSize, mIconSize);
2421
imageView.setLayoutParams(params);
2522
imageView.setImageResource(R.drawable.my_bold);
2623
imageView.bringToFront();

ARE/app/src/main/java/com/chinalwb/are/demo/toolitems/ARE_ToolItem_Youtube.kt

+2-7
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,10 @@ import android.content.Context
44
import android.view.View
55
import android.widget.ImageView
66
import android.widget.LinearLayout
7-
import com.chinalwb.are.AREditText
8-
import com.chinalwb.are.Util
97
import com.chinalwb.are.demo.R
10-
import com.chinalwb.are.styles.ARE_Emoji
118
import com.chinalwb.are.styles.IARE_Style
129
import com.chinalwb.are.styles.toolitems.ARE_ToolItem_Abstract
1310
import com.chinalwb.are.styles.toolitems.IARE_ToolItem_Updater
14-
import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Link
1511

1612
class ARE_ToolItem_Youtube : ARE_ToolItem_Abstract() {
1713

@@ -23,11 +19,10 @@ class ARE_ToolItem_Youtube : ARE_ToolItem_Abstract() {
2319
return mStyle ?: ARE_Style_Youtube(editText, mToolItemView as ImageView)
2420
}
2521

26-
override fun getView(context: Context?): View? {
22+
override fun getView(context: Context): View? {
2723
return mToolItemView ?: {
2824
val imageView = ImageView(context)
29-
val size = Util.getPixelByDp(context, 40)
30-
val params = LinearLayout.LayoutParams(size, size)
25+
val params = LinearLayout.LayoutParams(mIconSize, mIconSize)
3126
imageView.layoutParams = params
3227
imageView.setImageResource(R.drawable.youtube)
3328
imageView.bringToFront()

ARE/are/src/main/java/com/chinalwb/are/Constants.java

-4
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@
22

33
public class Constants {
44

5-
public static final int CHECKED_COLOR = 0XffFF4081; // android.R.color.holo_green_light;
6-
7-
public static final int UNCHECKED_COLOR = 0X00000000; // android.R.color.transparent;
8-
95
public static final int COLOR_QUOTE = 0Xffcccccc;
106

117
public static final String ZERO_WIDTH_SPACE_STR = "\u200B";
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
11
package com.chinalwb.are.styles;
22

3-
import com.chinalwb.are.Constants;
4-
53
import android.view.View;
6-
import android.widget.ImageView;
74

85
public class ARE_Helper {
96

10-
/**
11-
* Updates the check status.
12-
*
13-
* @param areStyle
14-
* @param checked
15-
*/
16-
public static void updateCheckStatus(IARE_Style areStyle, boolean checked) {
17-
areStyle.setChecked(checked);
18-
View imageView = areStyle.getImageView();
19-
int color = checked ? Constants.CHECKED_COLOR : Constants.UNCHECKED_COLOR;
20-
imageView.setBackgroundColor(color);
21-
}
22-
23-
7+
/**
8+
* Updates the check status.
9+
*
10+
* @param areStyle
11+
* @param checked
12+
*/
13+
public static void updateCheckStatus(IARE_Style areStyle, boolean checked) {
14+
areStyle.setChecked(checked);
15+
View imageView = areStyle.getImageView();
16+
imageView.setSelected(checked);
17+
}
18+
19+
2420
}

ARE/are/src/main/java/com/chinalwb/are/styles/toolbar/ARE_ToolbarDefault.java

+18-5
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,24 @@
11
package com.chinalwb.are.styles.toolbar;
22

3-
import android.app.Activity;
43
import android.content.Context;
54
import android.content.Intent;
5+
import android.content.res.TypedArray;
66
import android.util.AttributeSet;
77
import android.view.Gravity;
88
import android.view.View;
99
import android.widget.HorizontalScrollView;
1010
import android.widget.LinearLayout;
1111

1212
import com.chinalwb.are.AREditText;
13+
import com.chinalwb.are.R;
1314
import com.chinalwb.are.Util;
1415
import com.chinalwb.are.styles.toolitems.IARE_ToolItem;
1516

1617
import java.util.ArrayList;
1718
import java.util.List;
1819

20+
import androidx.annotation.DrawableRes;
21+
1922
/**
2023
* Created by wliu on 13/08/2018.
2124
*/
@@ -29,6 +32,10 @@ public class ARE_ToolbarDefault extends HorizontalScrollView implements IARE_Too
2932

3033
private AREditText mAREditText;
3134

35+
@DrawableRes
36+
private int mIconBackground;
37+
private int mIconSize;
38+
3239
public ARE_ToolbarDefault(Context context) {
3340
this(context, null);
3441
}
@@ -39,13 +46,13 @@ public ARE_ToolbarDefault(Context context, AttributeSet attrs) {
3946

4047
public ARE_ToolbarDefault(Context context, AttributeSet attrs, int defStyle) {
4148
super(context, attrs, defStyle);
42-
this.mContext = (Activity) context;
43-
initSelf();
49+
this.mContext = context;
50+
initSelf(context, attrs);
4451
}
4552

4653
@Override
4754
public void addToolbarItem(IARE_ToolItem toolbarItem) {
48-
toolbarItem.setToolbar(this);
55+
toolbarItem.setToolbar(this, mIconBackground, mIconSize);
4956
mToolItems.add(toolbarItem);
5057
View view = toolbarItem.getView(mContext);
5158
if (view != null) {
@@ -75,11 +82,17 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
7582
}
7683
}
7784

78-
private void initSelf() {
85+
private void initSelf(Context context, AttributeSet attrs) {
7986
mContainer = new LinearLayout(mContext);
8087
LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
8188
mContainer.setGravity(Gravity.CENTER_VERTICAL);
8289
mContainer.setLayoutParams(params);
8390
this.addView(mContainer);
91+
92+
TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.ARE_ToolbarDefault);
93+
mIconBackground = ta.getResourceId(R.styleable.ARE_ToolbarDefault_toolbarIconBackground, R.drawable.background_icon);
94+
mIconSize = ta.getDimensionPixelSize(R.styleable.ARE_ToolbarDefault_toolbarIconSize, Util.getPixelByDp(context, 40));
95+
96+
ta.recycle();
8497
}
8598
}

ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Abstract.java

+8-3
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
import android.widget.EditText;
77

88
import com.chinalwb.are.AREditText;
9-
import com.chinalwb.are.AREditor;
109
import com.chinalwb.are.Util;
11-
import com.chinalwb.are.spans.AreQuoteSpan;
1210
import com.chinalwb.are.styles.IARE_Style;
1311
import com.chinalwb.are.styles.toolbar.IARE_Toolbar;
1412

13+
import androidx.annotation.DrawableRes;
14+
1515
/**
1616
* Created by wliu on 13/08/2018.
1717
*/
@@ -25,15 +25,20 @@ public abstract class ARE_ToolItem_Abstract implements IARE_ToolItem {
2525
protected IARE_ToolItem_Updater mToolItemUpdater;
2626

2727
private IARE_Toolbar mToolbar;
28+
@DrawableRes
29+
protected int mIconBackground;
30+
protected int mIconSize;
2831

2932
@Override
3033
public IARE_Toolbar getToolbar() {
3134
return mToolbar;
3235
}
3336

3437
@Override
35-
public void setToolbar(IARE_Toolbar toolbar) {
38+
public void setToolbar(IARE_Toolbar toolbar, @DrawableRes int iconBackground, int iconSize) {
3639
mToolbar = toolbar;
40+
mIconBackground = iconBackground;
41+
mIconSize = iconSize;
3742
}
3843

3944
@Override

ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_AlignmentCenter.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,7 @@ public View getView(Context context) {
3939
}
4040
if (mToolItemView == null) {
4141
ImageView imageView = new ImageView(context);
42-
int size = Util.getPixelByDp(context, 40);
43-
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size);
42+
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(mIconSize, mIconSize);
4443
imageView.setLayoutParams(params);
4544
imageView.setImageResource(R.drawable.aligncenter);
4645
imageView.bringToFront();

ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_AlignmentLeft.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import com.chinalwb.are.Util;
1212
import com.chinalwb.are.styles.IARE_Style;
1313
import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Alignment;
14-
import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Hr;
1514

1615
/**
1716
* Created by wliu on 13/08/2018.
@@ -40,8 +39,7 @@ public View getView(Context context) {
4039
}
4140
if (mToolItemView == null) {
4241
ImageView imageView = new ImageView(context);
43-
int size = Util.getPixelByDp(context, 40);
44-
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size);
42+
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(mIconSize, mIconSize);
4543
imageView.setLayoutParams(params);
4644
imageView.setImageResource(R.drawable.alignleft);
4745
imageView.bringToFront();

ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_AlignmentRight.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,7 @@ public View getView(Context context) {
3939
}
4040
if (mToolItemView == null) {
4141
ImageView imageView = new ImageView(context);
42-
int size = Util.getPixelByDp(context, 40);
43-
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size);
42+
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(mIconSize, mIconSize);
4443
imageView.setLayoutParams(params);
4544
imageView.setImageResource(R.drawable.alignright);
4645
imageView.bringToFront();

ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_At.java

-8
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,12 @@
33
import android.app.Activity;
44
import android.content.Context;
55
import android.content.Intent;
6-
import android.net.Uri;
76
import android.view.View;
8-
import android.widget.ImageView;
9-
import android.widget.LinearLayout;
107

118
import com.chinalwb.are.AREditText;
12-
import com.chinalwb.are.R;
13-
import com.chinalwb.are.Util;
149
import com.chinalwb.are.models.AtItem;
15-
import com.chinalwb.are.spans.AreImageSpan;
16-
import com.chinalwb.are.styles.ARE_At;
1710
import com.chinalwb.are.styles.IARE_Style;
1811
import com.chinalwb.are.styles.toolitems.styles.ARE_Style_At;
19-
import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Image;
2012

2113
/**
2214
* Created by wliu on 13/08/2018.

ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_BackgroundColor.java

+2-6
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33
import android.content.Context;
44
import android.text.Editable;
55
import android.text.style.BackgroundColorSpan;
6-
import android.text.style.CharacterStyle;
7-
import android.text.style.BackgroundColorSpan;
8-
import android.text.style.StyleSpan;
96
import android.view.View;
107
import android.widget.ImageView;
118
import android.widget.LinearLayout;
@@ -22,7 +19,7 @@ public class ARE_ToolItem_BackgroundColor extends ARE_ToolItem_Abstract {
2219
@Override
2320
public IARE_ToolItem_Updater getToolItemUpdater() {
2421
if (mToolItemUpdater == null) {
25-
mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, Constants.CHECKED_COLOR, Constants.UNCHECKED_COLOR);
22+
mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, mIconBackground, mIconSize);
2623
setToolItemUpdater(mToolItemUpdater);
2724
}
2825
return mToolItemUpdater;
@@ -45,8 +42,7 @@ public View getView(Context context) {
4542
}
4643
if (mToolItemView == null) {
4744
ImageView imageView = new ImageView(context);
48-
int size = Util.getPixelByDp(context, 40);
49-
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size);
45+
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(mIconSize, mIconSize);
5046
imageView.setLayoutParams(params);
5147
imageView.setImageResource(R.drawable.background);
5248
imageView.bringToFront();

ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Bold.java

+2-5
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99
import android.widget.LinearLayout;
1010

1111
import com.chinalwb.are.AREditText;
12-
import com.chinalwb.are.Constants;
1312
import com.chinalwb.are.R;
14-
import com.chinalwb.are.Util;
1513
import com.chinalwb.are.styles.IARE_Style;
1614
import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Bold;
1715

@@ -24,7 +22,7 @@ public class ARE_ToolItem_Bold extends ARE_ToolItem_Abstract {
2422
@Override
2523
public IARE_ToolItem_Updater getToolItemUpdater() {
2624
if (mToolItemUpdater == null) {
27-
mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, Constants.CHECKED_COLOR, Constants.UNCHECKED_COLOR);
25+
mToolItemUpdater = new ARE_ToolItem_UpdaterDefault(this, mIconBackground, mIconSize);
2826
setToolItemUpdater(mToolItemUpdater);
2927
}
3028
return mToolItemUpdater;
@@ -47,8 +45,7 @@ public View getView(Context context) {
4745
}
4846
if (mToolItemView == null) {
4947
ImageView imageView = new ImageView(context);
50-
int size = Util.getPixelByDp(context, 40);
51-
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size);
48+
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(mIconSize, mIconSize);
5249
imageView.setLayoutParams(params);
5350
imageView.setImageResource(R.drawable.bold);
5451
imageView.bringToFront();

ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_FontColor.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ public View getView(Context context) {
3232
}
3333
if (mToolItemView == null) {
3434
ImageView imageView = new ImageView(context);
35-
int size = Util.getPixelByDp(context, 35);
36-
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size);
35+
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(mIconSize, mIconSize);
3736
imageView.setLayoutParams(params);
3837
imageView.setImageResource(R.drawable.foregroundcolor);
3938
imageView.bringToFront();

ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_FontSize.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ public View getView(Context context) {
2828
}
2929
if (mToolItemView == null) {
3030
ImageView imageView = new ImageView(context);
31-
int size = Util.getPixelByDp(context, 40);
32-
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size);
31+
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(mIconSize, mIconSize);
3332
imageView.setLayoutParams(params);
3433
imageView.setImageResource(R.drawable.fontsize);
3534
imageView.bringToFront();

ARE/are/src/main/java/com/chinalwb/are/styles/toolitems/ARE_ToolItem_Hr.java

+1-4
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@
77

88
import com.chinalwb.are.AREditText;
99
import com.chinalwb.are.R;
10-
import com.chinalwb.are.Util;
1110
import com.chinalwb.are.styles.IARE_Style;
1211
import com.chinalwb.are.styles.toolitems.styles.ARE_Style_Hr;
13-
import com.chinalwb.are.styles.toolitems.styles.ARE_Style_ListBullet;
1412

1513
/**
1614
* Created by wliu on 13/08/2018.
@@ -39,8 +37,7 @@ public View getView(Context context) {
3937
}
4038
if (mToolItemView == null) {
4139
ImageView imageView = new ImageView(context);
42-
int size = Util.getPixelByDp(context, 40);
43-
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(size, size);
40+
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(mIconSize, mIconSize);
4441
imageView.setLayoutParams(params);
4542
imageView.setImageResource(R.drawable.hr);
4643
imageView.bringToFront();

0 commit comments

Comments
 (0)