I have been searching around and learning about android widget programming. I am wondering about interaction in android widget. Is it possible for me to create a home screen widget that allow users to drag and drop other application icons to my widget? (behave like folder) If so, could you provide me some useful resources or examples of how to do it.
Thanks in advance.
Edited: I have found a widget called Semi Folder is similar to what I am looking for but this widget still not allow users to drag and drop to itself. It allows users to select and store applications via activity. Therefore, I still look for the solution of drag and drop to my widget.
Related
I'm a beginner Flutter developer and I've been developing few apps right now. I came across this chat bubble-like thing in few popular apps like Ola and Uber. Also, I'd like to recreate this feature in order to achieve background running of App.
How to recreate this one?
I guess this as an App widget that gets opened when a user closes the app.
Simply create your own CustomWidget - a Container with Rounded shape and put some column of widgets you want to put it in. And use it everywhere you want.
I need a home screen clone app that uses apps, folders, swipable screens of more apps and so on.
So far, I have looked into custom launchers like this one here: https://www.androidauthority.com/make-a-custom-android-launcher-837342-837342/
But to achieve what I need will require a lot of extra additions (the icons are easy enough, but I'll need folders and swiping as well).
Another approach I wondered about is Kiosk mode/Lock-Task-Mode and multi-app kiosk mode. I've looked at the docs and wondered if this could be used to harness the actual homescreen, while still executing code in the background based on what apps the user selects (ultimately acheiving the same desired effect of my project).
I've spent a full day looking at this but I want to know if I'm on the right path. Obviously, I could create an app that contains all of this, but I do think I want it to be a launcher app that's locked in place so that users can't operate the actual home screen and its apps. No malicious intent here, it's just for a closed-off research project.
Any insight is greatly appreciated.
I am trying to develop custom launcher app (with unlimited number of home pages)and i need to implement Drag and Drop as done in Launcher2(android 4.2).
So i found two approaches
1) Drag and Drop framework
2) Use the android launcher2 way like implementation DragController, DragSource as explained here.
But i am struggling to understand why didn't Android guys didn't use the Drag and Drop framework developed by them in their own application. Can anyone brief regarding possible rationale behind their approach?( i mean in terms of memory/performance)
Thanks in advance.
The Android drag and drop framework is very basic as compared to the one used in the Launcher app.
The Launcher app has a myriad of "layers" and the drag and drop occurs accross these layers, namely the DragLayer, Workspace and the All Apps view etc. It uses window flags and dynamically adds/removes views to the DragLayer when a drag is in progress and a multitude of activities monitor the drag. For more details look at the DragLayer.java and Workspace.java files particularly.
Drag and Drop in Android Launcher is done as Overlay drawing within the same ViewGroup and in same window . But android drag and drop approach creates a separate window with a separate window type altogether .
Resource and memory wise standard android drag and drop approach is costlier.
If performance is very critical my suggestion is go as per Android launcher way else prefer standard android approach its easy and simple.
Drag and Drop framework is sice api 11.
My guess is, lot of code for launcher was written before that, and noone had time to refactor it yet. But api works similar like second approach.
http://javapapers.com/android/android-drag-and-drop/. This is the best drag and drop example since i have implemented the same in my application. Note: It will support versions only above 11. The drag and drop feature will not support for version 10. Instead u have to move the fields in a absolute layout by settin X and Y positons. But Absolute layout is completely deprecated...
You should use WindowManaager to control Drag And Drop if in case your Application is not so much complex. This is easy to implement and work on Position changed. get the code Here
I'm currently developing a simple android HomeScreen with just 1 page.
I would like to know how to enable my HomeScreen to run and display widgets like this free widget.
Thanks so much in advance!
The best way you can use it, just get sources of Launcher application and find how AppWidgetHost added to view hierarchy and how it is maintaining AppWidgetHostView instances.
Launcher sources you can get here:
Laucnher.git
The home screen widgets are added by users based on the free-space they have and where they want the widget to be placed in their home-screen. As a developer you can only provide a widget, but adding that to the home-screen is purely in the control of the user.
Ok so I am very new to the Android SDK, but not to programming. I want to attempt to make a simple Android widget. I've been looking around for things on the web pertaining to widgets, and have been able to find lots of information, but nothing pertaining to my main question.
How can I make a settings dialog that will adjust the widget when it is launched? When you add the Google search widget, it prompts you to specify what type of widget you want it to be. In my widget I'm making, I want to allow the user to specify the widget height right after they select it.
How can I present that type of dialog? What does that entail? Any code snippets or tutorials or help anyone has to offer will go a long way.
Thanks!
Check here How to put multiple widget sizes in one apk?
The answers quote resources for both several widgets in one paackage and configuration page. Still, the size choosing is done not in the own configure dislog, but during add.