Skip to content

Commit

Permalink
feat: Improve palette widgets UI
Browse files Browse the repository at this point in the history
Also replaces outdated icons for some widgets
  • Loading branch information
aikrq authored Oct 20, 2024
1 parent 4781c5a commit eaef5c9
Show file tree
Hide file tree
Showing 67 changed files with 355 additions and 90 deletions.
14 changes: 7 additions & 7 deletions app/src/main/java/a/a/a/ViewEditorFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -218,15 +218,15 @@ private void e() {
viewEditor.addWidget(PaletteWidget.b.b, "", "TextView", "TextView");
viewEditor.addWidgetLayout(PaletteWidget.a.c, "");
viewEditor.addWidgetLayout(PaletteWidget.a.d, "");
viewEditor.extraWidgetLayout("", "RadioGroup");
viewEditor.extraWidgetLayout("", "RadioGroup", true);

viewEditor.paletteWidget.extraTitle("AndroidX", 0);
viewEditor.extraWidgetLayout("", "TabLayout");
viewEditor.extraWidgetLayout("", "BottomNavigationView");
viewEditor.extraWidgetLayout("", "CollapsingToolbarLayout");
viewEditor.extraWidgetLayout("", "CardView");
viewEditor.extraWidgetLayout("", "TextInputLayout");
viewEditor.extraWidgetLayout("", "SwipeRefreshLayout");
viewEditor.extraWidgetLayout("", "SwipeRefreshLayout", true);

viewEditor.addWidget(PaletteWidget.b.c, "", "EditText", "Edit Text");
viewEditor.extraWidget("", "AutoCompleteTextView", "AutoCompleteTextView");
Expand All @@ -243,34 +243,34 @@ private void e() {
viewEditor.extraWidget("", "RatingBar", "RatingBar");
viewEditor.extraWidget("", "SearchView", "SearchView");
viewEditor.extraWidget("", "VideoView", "VideoView");
viewEditor.addWidget(PaletteWidget.b.h, "", "WebView", "WebView");
viewEditor.addWidget(PaletteWidget.b.h, "", "WebView", "WebView", true);

viewEditor.paletteWidget.extraTitle("List", 1);
viewEditor.addWidget(PaletteWidget.b.e, "", "ListView", "ListView");
viewEditor.extraWidget("", "GridView", "GridView");
viewEditor.extraWidget("", "RecyclerView", "RecyclerView");
viewEditor.addWidget(PaletteWidget.b.f, "", "Spinner", "Spinner");
viewEditor.extraWidget("", "ViewPager", "ViewPager");
viewEditor.extraWidget("", "ViewPager", "ViewPager", true);

viewEditor.paletteWidget.extraTitle("Library", 1);
viewEditor.extraWidget("", "WaveSideBar", "WaveSideBar");
viewEditor.extraWidget("", "PatternLockView", "PatternLockView");
viewEditor.extraWidget("", "CodeView", "CodeView");
viewEditor.extraWidget("", "LottieAnimation", "LottieAnimation");
viewEditor.extraWidget("", "OTPView", "OTPView");
viewEditor.extraWidget("", "OTPView", "OTPView", true);

viewEditor.paletteWidget.extraTitle("Google", 1);
viewEditor.addWidget(PaletteWidget.b.l, "", "AdView", "AdView");
viewEditor.addWidget(PaletteWidget.b.n, "", "MapView", "MapView");
viewEditor.extraWidget("", "SignInButton", "SignInButton");
viewEditor.extraWidget("", "YoutubePlayer", "YoutubePlayer");
viewEditor.extraWidget("", "YoutubePlayer", "YoutubePlayer", true);

viewEditor.paletteWidget.extraTitle("Date & Time", 1);
viewEditor.extraWidget("", "AnalogClock", "AnalogClock");
viewEditor.extraWidget("", "DigitalClock", "DigitalClock");
viewEditor.extraWidget("", "TimePicker", "TimePicker");
viewEditor.extraWidget("", "DatePicker", "DatePicker");
viewEditor.addWidget(PaletteWidget.b.k, "", "CalendarView", "CalendarView");
viewEditor.addWidget(PaletteWidget.b.k, "", "CalendarView", "CalendarView", true);
}

private void startAnimation() {
Expand Down
20 changes: 16 additions & 4 deletions app/src/main/java/com/besome/sketch/editor/view/ViewEditor.java
Original file line number Diff line number Diff line change
Expand Up @@ -857,19 +857,31 @@ public void addWidgetLayout(PaletteWidget.a aVar, String str) {
}

public void extraWidgetLayout(String str, String str2) {
View extraWidgetLayout = paletteWidget.extraWidgetLayout(str, str2);
extraWidgetLayout(str, str2, false);
}

public void extraWidgetLayout(String str, String str2, boolean hideDivider) {
View extraWidgetLayout = paletteWidget.extraWidgetLayout(str, str2, hideDivider);
extraWidgetLayout.setClickable(true);
extraWidgetLayout.setOnTouchListener(this);
}

public void addWidget(PaletteWidget.b bVar, String str, String str2, String str3) {
View widget = paletteWidget.a(bVar, str, str2, str3);
addWidget(bVar, str, str2, str3, false);
}

public void addWidget(PaletteWidget.b bVar, String str, String str2, String str3, boolean hideDivider) {
View widget = paletteWidget.a(bVar, str, str2, str3, hideDivider);
widget.setClickable(true);
widget.setOnTouchListener(this);
}

public void extraWidget(String str, String str2, String str3) {
View extraWidget = paletteWidget.extraWidget(str, str2, str3);
extraWidget(str, str2, str3, false);
}

public void extraWidget(String str, String str2, String str3, boolean hideDivider) {
View extraWidget = paletteWidget.extraWidget(str, str2, str3, hideDivider);
extraWidget.setClickable(true);
extraWidget.setOnTouchListener(this);
}
Expand Down Expand Up @@ -1017,7 +1029,7 @@ public void onClick(View view) {
public void a(PaletteGroup group) {
imgGroup.setImageResource(group == PaletteGroup.BASIC ?
R.drawable.selector_palette_tab_ic_sketchware :
R.drawable.selector_palette_tab_ic_bookmark);
R.drawable.selector_palette_tab_ic_bookmark_filled);
setOnClickListener(this);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ public class IconBase extends BaseWidget {

public IconBase(Context context) {
super(context);
setBackgroundResource(R.drawable.icon_bg);
}

public ViewBean getBean() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public IconCalendarView(Context context) {

public void a(Context context) {
super.a(context);
setWidgetImage(R.drawable.widget_calendarview);
setWidgetImage(R.drawable.ic_calendar_today_24);
setWidgetName("CalendarView");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public IconCheckBox(Context context) {

public void a(Context context) {
super.a(context);
setWidgetImage(R.drawable.widget_check_box);
setWidgetImage(R.drawable.ic_check_box_24);
setWidgetName("CheckBox");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public IconEditText(Context context) {

public void a(Context context) {
super.a(context);
setWidgetImage(R.drawable.widget_edit_text);
setWidgetImage(R.drawable.ic_text_fields_alt_24);
setWidgetName("EditText");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public IconImageView(Context context) {

public void a(Context context) {
super.a(context);
setWidgetImage(R.drawable.widget_image_view);
setWidgetImage(R.drawable.ic_image_24);
setWidgetName("ImageView");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public IconLinearHorizontal(Context context) {

public void a(Context context) {
super.a(context);
setWidgetImage(R.drawable.widget_linear_horizontal);
setWidgetImage(R.drawable.ic_view_column_24);
setWidgetName("Linear(H)");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public IconLinearVertical(Context context) {

public void a(Context context) {
super.a(context);
setWidgetImage(R.drawable.widget_linear_vertical);
setWidgetImage(R.drawable.ic_table_rows_24);
setWidgetName("Linear(V)");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public IconListView(Context context) {

public void a(Context context) {
super.a(context);
setWidgetImage(R.drawable.widget_list_view);
setWidgetImage(R.drawable.ic_view_list_24);
setWidgetName("ListView");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public IconMapView(Context context) {

public void a(Context context) {
super.a(context);
setWidgetImage(R.drawable.widget_google_map);
setWidgetImage(R.drawable.ic_map_24);
setWidgetName("MapView");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public IconProgressBar(Context context) {

public void a(Context context) {
super.a(context);
setWidgetImage(R.drawable.widget_progress_bar);
setWidgetImage(R.drawable.ic_sliders_24);
setWidgetName("ProgressBar");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public IconSeekBar(Context context) {

public void a(Context context) {
super.a(context);
setWidgetImage(R.drawable.widget_seek_bar);
setWidgetImage(R.drawable.ic_switches_24);
setWidgetName("SeekBar");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public IconSwitch(Context context) {

public void a(Context context) {
super.a(context);
setWidgetImage(R.drawable.widget_switch);
setWidgetImage(R.drawable.ic_toggle_on_24);
setWidgetName("Switch");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public IconTextView(Context context) {

public void a(Context context) {
super.a(context);
setWidgetImage(R.drawable.widget_text_view);
setWidgetImage(R.drawable.ic_text_fields_24);
setWidgetName("TextView");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public IconWebView(Context context) {

public void a(Context context) {
super.a(context);
setWidgetImage(R.drawable.widget_web_view);
setWidgetImage(R.drawable.ic_public_24);
setWidgetName("WebView");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ public class PaletteWidget extends LinearLayout {

private LinearLayout layoutContainer;
private LinearLayout widgetsContainer;
private View divider;
private TextView titleLayouts;
private TextView titleWidgets;
private CustomScrollView scrollView;
Expand Down Expand Up @@ -82,7 +81,7 @@ public View a(PaletteWidget.a layoutType, String tag) {
return layout;
}

public View a(PaletteWidget.b widgetType, String tag, String text, String resourceName) {
public View a(PaletteWidget.b widgetType, String tag, String text, String resourceName, boolean hideDivider) {
IconBase iconBase;
switch (widgetType) {
case a:
Expand Down Expand Up @@ -152,6 +151,7 @@ public View a(PaletteWidget.b widgetType, String tag, String text, String resour

iconBase.setText(text);
iconBase.setName(resourceName);
iconBase.setHideDivider(hideDivider);
widgetsContainer.addView(iconBase);
return iconBase;
}
Expand All @@ -164,7 +164,6 @@ private void initialize(Context context) {
wB.a(context, this, R.layout.palette_widget);
layoutContainer = findViewById(R.id.layout);
widgetsContainer = findViewById(R.id.widget);
divider = findViewById(R.id.divider);
titleLayouts = findViewById(R.id.tv_layout);
titleWidgets = findViewById(R.id.tv_widget);
titleLayouts.setText(Helper.getResString(R.string.view_panel_title_layouts));
Expand All @@ -179,23 +178,17 @@ public void removeWidgets() {
public void extraTitle(String title, int targetType) {
LinearLayout target = targetType == 0 ? layoutContainer : widgetsContainer;

LinearLayout divider = new LinearLayout(getContext());
divider.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, dpToPx(1)));
divider.setOrientation(LinearLayout.HORIZONTAL);
divider.setBackgroundColor(Color.parseColor("#00000000"));
target.addView(divider);

TextView titleView = new TextView(getContext());
LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(dpToPx(4), dpToPx(4), dpToPx(4), dpToPx(4));
layoutParams.setMargins(dpToPx(6), dpToPx(6), dpToPx(6), dpToPx(6));
titleView.setLayoutParams(layoutParams);
titleView.setText(title);
titleView.setTextSize(12);
titleView.setTextColor(MaterialColors.getColor(titleView, com.google.android.material.R.attr.colorPrimary));
target.addView(titleView);
}

public View extraWidget(String tag, String title, String name) {
public View extraWidget(String tag, String title, String name, boolean hideDivider) {
IconBase iconBase;
Context context = getContext();
iconBase = switch (title) {
Expand Down Expand Up @@ -230,11 +223,12 @@ public View extraWidget(String tag, String title, String name) {

iconBase.setText(title);
iconBase.setName(name);
iconBase.setHideDivider(hideDivider);
widgetsContainer.addView(iconBase);
return iconBase;
}

public View extraWidgetLayout(String tag, String name) {
public View extraWidgetLayout(String tag, String name, boolean hideDivider) {
IconBase iconBase;
Context context = getContext();
iconBase = switch (name) {
Expand All @@ -251,13 +245,13 @@ public View extraWidgetLayout(String tag, String name) {
iconBase.setTag(tag);
}

iconBase.setHideDivider(hideDivider);
layoutContainer.addView(iconBase);
return iconBase;
}

public void setLayoutVisible(int visibility) {
layoutContainer.setVisibility(visibility);
divider.setVisibility(visibility);
titleLayouts.setVisibility(visibility);
}

Expand Down
12 changes: 8 additions & 4 deletions app/src/main/java/com/besome/sketch/lib/base/BaseWidget.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
public class BaseWidget extends LinearLayout {
private ImageView img_widget;
private TextView tv_widget;
private View divider_widget;
@DrawableRes
private int widgetImgResId;
private int widgetType;
Expand All @@ -24,7 +25,8 @@ public BaseWidget(Context context) {
super(context);
View.inflate(context, R.layout.widget_layout, this);

setOrientation(HORIZONTAL);
setDrawingCacheEnabled(true);
setOrientation(VERTICAL);
setGravity(Gravity.CENTER);

a(context);
Expand All @@ -33,9 +35,7 @@ public BaseWidget(Context context) {
public void a(Context context) {
img_widget = findViewById(R.id.img_widget);
tv_widget = findViewById(R.id.tv_widget);

setBackgroundResource(R.drawable.icon_bg);
setDrawingCacheEnabled(true);
divider_widget = findViewById(R.id.divider_widget);
}

public int getWidgetImageResId() {
Expand Down Expand Up @@ -67,6 +67,10 @@ public void setWidgetType(a widgetType) {
this.widgetType = widgetType.ordinal();
}

public void setHideDivider(boolean hideDivider) {
divider_widget.setVisibility(hideDivider ? View.GONE : View.VISIBLE);
}

public enum a {
a,
b
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class IconBottomNavigationView extends IconBase {

public IconBottomNavigationView(Context context) {
super(context);
setWidgetImage(R.drawable.widget_bottom_view);
setWidgetImage(R.drawable.ic_bottom_navigation_24);
setWidgetName("BottomNavigationView");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class IconCodeView extends IconBase {

public IconCodeView(Context context) {
super(context);
setWidgetImage(R.drawable.widget_code_view);
setWidgetImage(R.drawable.ic_code_24);
setWidgetName("CodeView");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class IconCollapsingToolbar extends IconBase {

public IconCollapsingToolbar(Context context) {
super(context);
setWidgetImage(R.drawable.widget_collapsing_toolbar);
setWidgetImage(R.drawable.ic_toolbar_24);
setWidgetName("CollapsingToolbar");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class IconRecyclerView extends IconBase {

public IconRecyclerView(Context context) {
super(context);
setWidgetImage(R.drawable.grid_3_48);
setWidgetImage(R.drawable.ic_view_list_24);
setWidgetName("RecyclerView");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class IconSwipeRefreshLayout extends IconBase {

public IconSwipeRefreshLayout(Context context) {
super(context);
setWidgetImage(R.drawable.widget_swipe_refresh);
setWidgetImage(R.drawable.ic_refresh_24);
setWidgetName("SwipeRefreshLayout");
}

Expand Down
Loading

0 comments on commit eaef5c9

Please sign in to comment.