Giter Club home page Giter Club logo

layouteditor's Introduction

Banner

Latest release Discord Downloads GitHub repo size Test and Build Contributor Covenant LICENSE

Use Layout Editor to easily build Android app layouts by dragging UI elements into a visual layout editor.

Features

  • Drag and drop: The Layout Editor allows developers to easily drag and drop UI elements onto the design canvas, making it easy to create a visual representation of the app's layout.
  • WYSIWYG editing: The Layout Editor provides a What You See Is What You Get (WYSIWYG) interface, which allows developers to preview how their app will look on different devices.
  • Blueprint mode: In addition to the WYSIWYG mode, the Layout Editor also has a blueprint mode that allows developers to work with a wireframe view of the layout.
  • Design tools: The Layout Editor provides a range of design tools, including alignment guides, snap-to-grid functionality, and a range of layout templates to make it easier to create professional-looking layouts.
  • Theme editing: Developers can modify the theme of their app's layout by selecting from a range of pre-built themes or creating their own custom theme.
  • Component properties: The Layout Editor provides a range of component properties that developers can modify, including size, padding, margins, and more.
  • Preview mode: Developers can preview their app's layout on a range of devices, including smartphones, tablets, and wearables, to ensure that it looks good on all screen sizes.
  • Code editing: The Layout Editor also allows developers to switch to code mode and manually edit the layout's XML code.
  • Accessibility tools: The Layout Editor includes a range of accessibility tools to help developers ensure that their app's layout is accessible to all users, including those with disabilities.
  • Layout validation: The Layout Editor includes a layout validation tool that can identify common layout issues and suggest ways to fix them.

Known issues:

  1. Only a few widgets have been added. More will be added soon.
  2. Not all attributes of widgets are available.

The app is in alpha. You may face issues when using the app. If you do, please report it in github issues.

LayoutEditor

Thanks to

Lisence

LayoutEditor - Create Awesome UI!
Copyright (C) 2022-2023  Vivek Kumar Sahani & Deep Kr. Ghosh

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

layouteditor's People

Contributors

deepkrg17 avatar gabriel-aplok avatar guobao2333 avatar hasanelfalakiy avatar imgbotapp avatar itsakc-me avatar itsvks19 avatar jhihyulin avatar lagunix avatar mikropsoft avatar mrikso avatar semgrep-bot avatar teixeira0x avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

layouteditor's Issues

[BUG]: App crash

Describe the bug
I can't open the project I created just yesterday, the app crashes

Expected behavior
No crashes

Screenshots
If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

  • Device: [VivoY15]
  • OS: [android 11]
  • Browser [e.g. stock browser, safari]
  • Version [1901]

Additional context
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.itsvks.layouteditor/com.itsvks.layouteditor.activities.EditorActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.util.HashMap.get(java.lang.Object)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3740)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3898)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2305)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:257)
at android.app.ActivityThread.main(ActivityThread.java:8192)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:626)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1015)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.util.HashMap.get(java.lang.Object)' on a null object reference
at com.itsvks.layouteditor.tools.XmlLayoutParser.applyAttributes(XmlLayoutParser.java:151)
at com.itsvks.layouteditor.tools.XmlLayoutParser.parseFromXml(XmlLayoutParser.java:137)
at com.itsvks.layouteditor.editor.layouts.EditorLayout.loadLayoutFromParser(EditorLayout.java:257)
at com.itsvks.layouteditor.activities.EditorActivity.onCreate(EditorActivity.java:148)
at android.app.Activity.performCreate(Activity.java:8119)
at android.app.Activity.performCreate(Activity.java:8103)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1359)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3713)
... 11 more

SDK: 30
Release: 11
Incremental: eng.compil.20220822.174220

Sun Nov 20 05:36:08 GMT+07:00 2022

[Bug]:

What happened?

App crashed as i deleted old projects

What's the expected behavior?

No crash :-)

Relevant log output

Manufacturer: Google
Device: Pixel3XL
SDK: 31
Release: 12
Incremental: 8029091
App version: 0.4.0-alpha

java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
	at java.util.ArrayList.get(ArrayList.java:437)
	at com.itsvks.layouteditor.adapters.ProjectListAdapter.lambda$deleteProject$5$com-itsvks-layouteditor-adapters-ProjectListAdapter(ProjectListAdapter.java:210)
	at com.itsvks.layouteditor.adapters.ProjectListAdapter$$ExternalSyntheticLambda0.onClick(Unknown Source:4)
	at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:201)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7842)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)


Sat Dec 03 15:57:11 GMT+01:00 2022

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug] when I'm open file manager for selecting font but I cancel this.

Manufacturer: Xiaomi
Device: Redmi6Pro
SDK: 28
Android: 9
Model: V12.0.4.0.PDMMIXM

App version: 0.7.0-alpha

java.lang.NullPointerException: it must not be null
at com.itsvks.layouteditor.utils.FilePicker.init$lambda$0(FilePicker.kt:31)
at com.itsvks.layouteditor.utils.FilePicker.$r8$lambda$LV797KRHXJoUJqHMe4feJE6lY1E(Unknown Source:0)
at com.itsvks.layouteditor.utils.FilePicker$$ExternalSyntheticLambda0.onActivityResult(D8$$SyntheticClass:0)
at androidx.activity.result.ActivityResultRegistry$1.onStateChanged(ActivityResultRegistry.java:147)
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.kt:322)
at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.kt:258)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.kt:294)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.kt:143)
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.kt:126)
at androidx.lifecycle.ReportFragment$Companion.dispatch$lifecycle_runtime_release(ReportFragment.kt:190)
at androidx.lifecycle.ReportFragment.dispatch(ReportFragment.kt:85)
at androidx.lifecycle.ReportFragment.onStart(ReportFragment.kt:54)
at android.app.Fragment.performStart(Fragment.java:2548)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1334)
at android.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1581)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1642)
at android.app.FragmentManagerImpl.dispatchMoveToState(FragmentManager.java:3051)
at android.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:3008)
at android.app.FragmentController.dispatchStart(FragmentController.java:193)
at android.app.Activity.performStart(Activity.java:7264)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:2970)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6806)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

Sat Feb 17 11:22:13 GMT+05:30 2024

App Crash when screen rotation is on

Manufacturer: Xiaomi
Device: Redmi6Pro
SDK: 28
Android: 9
Model: V12.0.4.0.PDMMIXM

App version: 0.8.0-alpha

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.itsvks.layouteditor/com.itsvks.layouteditor.activities.EditorActivity}: java.lang.NullPointerException
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2946)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3081)
	at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:4843)
	at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4752)
	at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:69)
	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:201)
	at android.app.ActivityThread.main(ActivityThread.java:6806)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
Caused by: java.lang.NullPointerException
	at com.itsvks.layouteditor.activities.EditorActivity.init(EditorActivity.kt:120)
	at com.itsvks.layouteditor.activities.EditorActivity.onCreate(EditorActivity.kt:108)
	at android.app.Activity.performCreate(Activity.java:7224)
	at android.app.Activity.performCreate(Activity.java:7213)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2926)
	... 13 more


Tue Mar 26 11:56:14 GMT+05:30 2024

[Bug]: crash

What happened?

drag drops

What's the expected behavior?

all time crash

Relevant log output

Manufacturer: Xiaomi
Device: Redmi6Pro
SDK: 28
Release: 9
Incremental: V12.0.4.0.PDMMIXM
App version: 0.5.0-alpha

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setLayoutParams(android.view.ViewGroup$LayoutParams)' on a null object reference
	at com.itsvks.layouteditor.editor.layouts.EditorLayout$1.onDrag(EditorLayout.java:139)
	at android.view.View.callDragEventHandler(View.java:24285)
	at android.view.View.dispatchDragEvent(View.java:24276)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1776)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1758)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1758)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1758)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1758)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1758)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1758)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1758)
	at android.view.ViewRootImpl.handleDragEvent(ViewRootImpl.java:6504)
	at android.view.ViewRootImpl.access$1000(ViewRootImpl.java:139)
	at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:4371)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:201)
	at android.app.ActivityThread.main(ActivityThread.java:6806)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)


Thu Feb 09 08:31:44 GMT+05:30 2023

Code of Conduct

  • I agree to follow this project's Code of Conduct

buttons within a linear_layout (H) are not laid out correctly

The following code snippet was created using the layout editor

`<android.widget.LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<android.widget.TextView
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="@string/default_string"
	android:gravity="center_horizontal"
	android:layout_marginLeft="50"
	android:layout_marginTop="100" />

<android.widget.EditText
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:hint="Password"
	android:inputType="textPassword" />

<android.widget.Button
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="Button" />

<android.widget.LinearLayout
	android:layout_width="match_parent"
	android:layout_height="wrap_content"
	android:orientation="horizontal"
	android:padding="8dp"
	android:layout_gravity="center_horizontal|fill_horizontal"
	android:weightSum="2"
	android:gravity="center_horizontal"
	android:layout_marginLeft="10dp"
	android:layout_marginRight="10dp">

	<android.widget.Button
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:text="Button"
		android:layout_weight="1"/>

	<android.widget.Button
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:text="Button"
		android:layout_weight="1"/>

</android.widget.LinearLayout>

`

in both the editor and the preview, the buttons are grouped together in the center of the linear_layout, however if the XML is exported and added to the Android Studio layout editor, the buttons will fill the parent equally as defined by the layout weights

crash again when open preview layout

crash when opening layout preview

Manufacturer: vivo
Device: vivo1901
SDK: 30
Android: 11
Model: eng.compil.20230322.112912
App version: 0.7.0-alpha

java.lang.NoSuchMethodError: No virtual method getParcelable(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; in class Landroid/os/Bundle; or its super classes (declaration of 'android.os.Bundle' appears in /system/framework/framework.jar!classes2.dex)
at com.itsvks.layouteditor.activities.PreviewLayoutActivity.onCreate(PreviewLayoutActivity.java:22)
at android.app.Activity.performCreate(Activity.java:8119)
at android.app.Activity.performCreate(Activity.java:8103)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1359)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3713)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3898)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2305)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:257)
at android.app.ActivityThread.main(ActivityThread.java:8192)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:626)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1015)

Mon Oct 23 21:44:46 GMT+07:00 2023

[Bug]:

What happened?

Crash while tried to add a MaterialTextView insinde a LinearLayout

What's the expected behavior?

No crash

Relevant log output

Manufacturer: Google
Device: Pixel3XL
SDK: 31
Release: 12
Incremental: 8029091
App version: 0.5.0-alpha

java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
	at android.view.ViewGroup.addViewInner(ViewGroup.java:5247)
	at android.view.ViewGroup.addView(ViewGroup.java:5076)
	at android.view.ViewGroup.addView(ViewGroup.java:5016)
	at com.itsvks.layouteditor.editor.layouts.EditorLayout$1.onDrag(EditorLayout.java:122)
	at android.view.View.callDragEventHandler(View.java:26945)
	at android.view.ViewRootImpl.setDragFocus(ViewRootImpl.java:7693)
	at android.view.View.dispatchDragEvent(View.java:26934)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1842)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1824)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1824)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1824)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1824)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1824)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1824)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1824)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1824)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1824)
	at android.view.ViewRootImpl.handleDragEvent(ViewRootImpl.java:7592)
	at android.view.ViewRootImpl.access$1300(ViewRootImpl.java:226)
	at android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl(ViewRootImpl.java:5411)
	at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:5260)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:201)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7842)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)


Mon Dec 05 22:02:56 GMT+01:00 2022

Code of Conduct

  • I agree to follow this project's Code of Conduct

FilePicker does not return imported file path

In EditorActivity:defineXmlPicker line 152

the code checks to see if the filename ends in xml

if ( path != null && path.endsWith(".xml")

The problem is that FilePicker obfuscates the actual file path, so that the test will always fail, I believe FileProvider would return that information

[Bug]: Error Vector Image

What happened?

Manufacturer: samsung
Device: SM-A107F
SDK: 30
Android: 11
Model: A107FXXS8CVL1
App version: 0.6.0-alpha

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.itsvks.layouteditor.ProjectFile.getColorsPath()' on a null object reference
at com.itsvks.layouteditor.fragments.resources.ColorFragment.onViewCreated(ColorFragment.java:58)
at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:2987)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:546)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3072)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:502)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:248)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1435)
at android.app.Activity.performStart(Activity.java:8231)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3872)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2336)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8653)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)

Sun Mar 12 12:42:43 GMT+03:30 2023

What's the expected behavior?

error not Show Vector Image

Relevant log output

can You Send ie Telgram for me?

Code of Conduct

  • I agree to follow this project's Code of Conduct

Feature request.

Please add <androidx.coordinatorlayout>
And other androidx support library.

Library

Hi, Do you plan to release the project as a separate library? So that you can pass the path to the layout through the bundle

[Bug]: crash

What happened?

using normal

What's the expected behavior?

Relevant log output

Manufacturer: Xiaomi
Device: M2101K6G
SDK: 33
Android: 13
Model: eng.bhard.20230216.123928
App version: 0.6.0-alpha

java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List com.itsvks.layouteditor.editor.initializer.AttributeMap.keySet()' on a null object reference
	at com.itsvks.layouteditor.tools.XmlLayoutGenerator.peek(XmlLayoutGenerator.java:57)
	at com.itsvks.layouteditor.tools.XmlLayoutGenerator.peek(XmlLayoutGenerator.java:81)
	at com.itsvks.layouteditor.tools.XmlLayoutGenerator.peek(XmlLayoutGenerator.java:81)
	at com.itsvks.layouteditor.tools.XmlLayoutGenerator.generate(XmlLayoutGenerator.java:33)
	at com.itsvks.layouteditor.editor.layouts.EditorLayout.updateUndoRedoHistory(EditorLayout.java:296)
	at com.itsvks.layouteditor.editor.layouts.EditorLayout$1.onDrag(EditorLayout.java:94)
	at android.view.View.callDragEventHandler(View.java:27580)
	at android.view.ViewRootImpl.setDragFocus(ViewRootImpl.java:8016)
	at android.view.View.dispatchDragEvent(View.java:27569)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1843)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1825)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1825)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1825)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1825)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1825)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1825)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1825)
	at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1825)
	at android.view.ViewRootImpl.handleDragEvent(ViewRootImpl.java:7910)
	at android.view.ViewRootImpl.-$$Nest$mhandleDragEvent(Unknown Source:0)
	at android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl(ViewRootImpl.java:5698)
	at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:5558)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:201)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7867)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:550)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)


Sun Mar 12 20:53:19 GMT-04:00 2023

Code of Conduct

  • I agree to follow this project's Code of Conduct

crash when open project

now can't open all my projects, here is the exception log:

Manufacturer: vivo
Device: vivo1901
SDK: 30
Android: 11
Model: eng.compil.20230322.112912
App version: 0.7.0-alpha

java.lang.NoSuchMethodError: No virtual method getParcelable(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; in class Landroid/os/Bundle; or its super classes (declaration of 'android.os.Bundle' appears in /system/framework/framework.jar!classes2.dex)
	at com.itsvks.layouteditor.activities.EditorActivity.init(EditorActivity.java:87)
	at com.itsvks.layouteditor.activities.EditorActivity.onCreate(EditorActivity.java:74)
	at android.app.Activity.performCreate(Activity.java:8119)
	at android.app.Activity.performCreate(Activity.java:8103)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1359)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3713)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3898)
	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2305)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:257)
	at android.app.ActivityThread.main(ActivityThread.java:8192)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:626)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1015)


Mon Oct 23 21:08:27 GMT+07:00 2023

[Bug]: Losing the project instance

What happened?

When I leave the app in the background, the instance of the open project is lost

What's the expected behavior?

recover the project

Relevant log output

Manufacturer: samsung
Device: SM-A325M
SDK: 33
Android: 13
Model: A325MUBU2CWA6
App version: 0.6.0-alpha

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.itsvks.layouteditor/com.itsvks.layouteditor.activities.EditorActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.itsvks.layouteditor.ProjectFile.getName()' on a null object reference
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4166)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4312)
	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2571)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:226)
	at android.os.Looper.loop(Looper.java:313)
	at android.app.ActivityThread.main(ActivityThread.java:8741)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.itsvks.layouteditor.ProjectFile.getName()' on a null object reference
	at com.itsvks.layouteditor.activities.EditorActivity.init(EditorActivity.java:86)
	at com.itsvks.layouteditor.activities.EditorActivity.onCreate(EditorActivity.java:72)
	at android.app.Activity.performCreate(Activity.java:8578)
	at android.app.Activity.performCreate(Activity.java:8557)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4147)
	... 12 more


Fri Mar 10 13:00:42 GMT-03:00 2023

Code of Conduct

  • I agree to follow this project's Code of Conduct

Image drawable problem

Please look into this problem of mine. The app has all permissions taken. But when I want to take the image drawable a popup comes Permission denide. But when I take vector drawable nothing issues it's working. Only problem image drawable.

Bug: Crash

When I try to open a project that was created before the app update crashed, I'm using the latest app v0.4.0-alpha

Report:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.itsvks.layouteditor/com.itsvks.layouteditor.activities.EditorActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.ViewGroup.addView(android.view.View)' on a null object reference
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3740)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3898)
	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2305)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:257)
	at android.app.ActivityThread.main(ActivityThread.java:8192)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:626)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1015)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.ViewGroup.addView(android.view.View)' on a null object reference
	at com.itsvks.layouteditor.tools.XmlLayoutParser.parseFromXml(XmlLayoutParser.java:109)
	at com.itsvks.layouteditor.editor.layouts.EditorLayout.loadLayoutFromParser(EditorLayout.java:257)
	at com.itsvks.layouteditor.activities.EditorActivity.onCreate(EditorActivity.java:148)
	at android.app.Activity.performCreate(Activity.java:8119)
	at android.app.Activity.performCreate(Activity.java:8103)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1359)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3713)
	... 11 more


SDK: 30
Release: 11
Incremental: eng.compil.20220822.174220


Fri Nov 18 07:46:47 GMT+07:00 2022

Consider using Sheets instead of Navigation drawer in editor

Is your feature request related to a problem? Please describe.

It's a bit frustrating when trying to select a component from the Navigation drawer. The drawer closes while switching between the tabs. Moreover, tabs in the navigation drawer aren't recommended as per the Material 3 guidelines.

Describe the solution you'd like

Consider using a Bottom sheet for compact devices and a Side sheet for tablets and desktops. I would suggest to not use modal sheets as they create a scrim over the main content. Also, another option would be to remove the tabs from the Navigation drawer and instead use a drop-down structure.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature]: Vector mode View

Is your feature request related to a problem? Please describe.

Hello, if possible, add the feature of displaying vector photos

Describe the solution you'd like

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature]: String Manager

Is your feature request related to a problem? Please describe.

.

Describe the solution you'd like

Can I try putting the String Manager?

Additional context

.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Improve] Adding null or empty safety and converting string to lowercase in replaceSpacesWithUnderscores method.

Adding null or empty safety and converting string to lowercase in replaceSpacesWithUnderscores method.

// Method to replace spaces with underscores in a string and convert to lowercase
    public static String replaceSpacesWithUnderscores(@NonNull String input) {
        // Checking if the input string is null or empty
        if (input == null || input.isEmpty()) {
            return ""; // Returning empty string if input is null or empty
        }
        
        // replace spaces with underscores and converting to lowercase
        return input.replaceAll(" ", "_").toLowerCase();
    }

Screenshot_2024-02-17-11-37-36-629_com.itsvks.layouteditor.jpg

crash when open preview layout

Application crashes when previewing layout of old project :

Manufacturer: vivo
Device: vivo1901
SDK: 30
Android: 11
Model: eng.compil.20230322.112912
App version: 0.7.0-alpha

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.itsvks.layouteditor/com.itsvks.layouteditor.activities.PreviewLayoutActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.itsvks.layouteditor.ProjectFile.getLayout()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3740)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3898)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2305)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:257)
at android.app.ActivityThread.main(ActivityThread.java:8192)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:626)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1015)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.itsvks.layouteditor.ProjectFile.getLayout()' on a null object reference
at com.itsvks.layouteditor.activities.PreviewLayoutActivity.onCreate(PreviewLayoutActivity.java:26)
at android.app.Activity.performCreate(Activity.java:8119)
at android.app.Activity.performCreate(Activity.java:8103)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1359)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3713)
... 11 more

Sun Oct 22 19:39:22 GMT+07:00 2023

EditText Crashed

when the widget dragged or passes over the edittext it focuses and when dropped there the app crashes

[Bug]: App crashes when adding drawables

What happened?

the app crashed when I tried to add a PNG file to Drawable Manager.

What's the expected behavior?

No crash and successful import

Relevant log output

SDK: 28
App version: 0.5.0-alpha

java.lang.StringIndexOutOfBoundsException: String index out of range: -1
	at java.lang.String.substring(String.java:2036)
	at com.itsvks.layouteditor.activities.DrawableManagerActivity.addDrawable(DrawableManagerActivity.java:141)
	at com.itsvks.layouteditor.activities.DrawableManagerActivity.-$$Nest$maddDrawable(Unknown Source:0)
	at com.itsvks.layouteditor.activities.DrawableManagerActivity$1.onPickFile(DrawableManagerActivity.java:95)
	at com.itsvks.layouteditor.utils.FilePicker.lambda$new$0$com-itsvks-layouteditor-utils-FilePicker(FilePicker.java:24)
	at com.itsvks.layouteditor.utils.FilePicker$$ExternalSyntheticLambda0.onActivityResult(Unknown Source:4)
	at androidx.activity.result.ActivityResultRegistry$1.onStateChanged(ActivityResultRegistry.java:149)
	at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:360)
	at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:271)
	at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:313)
	at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:151)
	at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:134)
	at androidx.lifecycle.ReportFragment.dispatch(ReportFragment.java:68)
	at androidx.lifecycle.ReportFragment.dispatch(ReportFragment.java:144)
	at androidx.lifecycle.ReportFragment.onStart(ReportFragment.java:109)
	at android.app.Fragment.performStart(Fragment.java:2548)
	at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1334)
	at android.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1581)
	at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1642)
	at android.app.FragmentManagerImpl.dispatchMoveToState(FragmentManager.java:3051)
	at android.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:3008)
	at android.app.FragmentController.dispatchStart(FragmentController.java:193)
	at android.app.Activity.performStart(Activity.java:7264)
	at android.app.ActivityThread.handleStartActivity(ActivityThread.java:2970)
	at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
	at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
	at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:201)
	at android.app.ActivityThread.main(ActivityThread.java:6810)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

Code of Conduct

  • I agree to follow this project's Code of Conduct

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.