GithubHelp home page GithubHelp logo

springy-heads's Introduction

THIS PROJECT IS NO MORE MAINTAINED. A good alternative is at https://github.com/google/hover

Springy heads

A chat head library for use within your apps. This includes all the UI physics and spring animations which drive multi user chat behaviour and toggling between maximized, minimized and circular arrangements.

Demo

springy chat heads demo

You can also download the demo app

Get it on Google Play

Installation

Gradle:

compile 'com.flipkart.springyheads:library:0.9.6'

How to use

Define the view group in your layout file

<com.flipkart.chatheads.ui.ChatHeadContainer
android:id="@+id/chat_head_container"
android:layout_width="match_parent"
android:layout_height="match_parent"/>  

Then define the view adapter in your activity

final ChatHeadContainer chatContainer = (ChatHeadContainer) findViewById(R.id.chat_container);
chatContainer.setViewAdapter(new ChatHeadViewAdapter() {
    @Override
    public FragmentManager getFragmentManager() {
        return getSupportFragmentManager();
    }

    @Override
    public Fragment attachView(Object key, ChatHead chatHead) {
        // return the fragment which should be shown when the arrangment switches to maximized (on clicking a chat head)
        // you can use the key parameter to get back the object you passed in the addChatHead method.
        // this key should be used to decide which fragment to show.
        return new Fragment();
    }

    @Override
    public Drawable getChatHeadDrawable(Object key) {
        // this is where you return a drawable for the chat head itself based on the key. Typically you return a circular shape
        // you may want to checkout circular image library https://github.com/flipkart-incubator/circular-image
        return getResources().getDrawable(R.drawable.circular_view);
    }
});

Then add the chat heads

chatContainer.addChatHead("head0", false); // you can even pass a custom object instead of "head0"
chatContainer.addChatHead("head1", true); // a sticky chat head (passed as 'true') cannot be closed and will remain when all other chat heads are closed.

And finally set the arrangement

chatContainer.setArrangement(MinimizedArrangement.class, null);

The view adapter is invoked when someone selects a chat head. In this example a String object ("head0") is attached to each chat head. You can instead attach any custom object, for e.g a Conversation object to denote each chat head. This object will represent a chat head uniquely and will be passed back in all callbacks.

Toggle arrangements

You can toggle between the Minimized and Maximized arrangement like this

chatContainer.setArrangement(MinimizedArrangement.class, null);
            
/** OR **/
             
chatContainer.setArrangement(MaximizedArrangement.class, null);

Callbacks

chatContainer.setListener(new ChatHeadListener() {
    @Override
    public void onChatHeadAdded(Object key) {
        //called whenever a new chat head with the specified 'key' has been added
    }

    @Override
    public void onChatHeadRemoved(Object key, boolean userTriggered) {
        //called whenever a new chat head with the specified 'key' has been removed.
        // userTriggered: 'true' says whether the user removed the chat head, 'false' says that the code triggered it
    }

    @Override
    public void onChatHeadArrangementChanged(ChatHeadArrangement oldArrangement, ChatHeadArrangement newArrangement) {
        //called whenever the chat head arrangement changed. For e.g minimized to maximized or vice versa.
    }

    @Override
    public void onChatHeadAnimateStart(ChatHead chatHead) {
        //called when the chat head has started moving (
    }

    @Override
    public void onChatHeadAnimateEnd(ChatHead chatHead) {
        //called when the chat head has settled after moving
    }
});

In normal scenarios you dont need to know when a chat head is selected because the fragment returned by the view adapter is automatically attached to it. For special cases where you need to perform any external action, you can use item selected listener.

chatContainer.setOnItemSelectedListener(new ChatHeadContainer.OnItemSelectedListener() {
    @Override
    public boolean onChatHeadSelected(Object key, ChatHead chatHead) {
        if (chatContainer.getArrangementType() == MaximizedArrangement.class) {
            Log.d("springyheads","Clicked on " + key + " " +
                    "when arrangement was Maximized");
        }
        return false; //returning true will mean that you have handled the behaviour and the default behaviour will be skipped
    }
});

Configuration

You can override the standard sizes by writing a custom class which extends the default config class. For e.g., the below class defines some standard properties and also the initial position of the chat head.

public class CustomChatHeadConfig extends ChatHeadDefaultConfig {
    public CustomChatHeadConfig(Context context, int xPosition, int yPosition) {
        super(context);
        setHeadHorizontalSpacing(ChatHeadUtils.dpToPx(context, -2));
        setHeadVerticalSpacing(ChatHeadUtils.dpToPx(context, 2));
        setHeadWidth(ChatHeadUtils.dpToPx(context, 50));
        setHeadHeight(ChatHeadUtils.dpToPx(context, 50));
        setInitialPosition(new Point(xPosition, yPosition));
        setCloseButtonHeight(ChatHeadUtils.dpToPx(context, 50));
        setCloseButtonWidth(ChatHeadUtils.dpToPx(context, 50));
        setCloseButtonBottomMargin(ChatHeadUtils.dpToPx(context, 100));
        setCircularRingWidth(ChatHeadUtils.dpToPx(context, 53));
        setCircularRingHeight(ChatHeadUtils.dpToPx(context, 53));
    }

    @Override
    public int getMaxChatHeads(int maxWidth, int maxHeight) {
        return (int) Math.floor(maxWidth / (getHeadWidth() + getHeadHorizontalSpacing(maxWidth, maxHeight))) - 1;
    }
}

Once this config class is defined, you can set it to the manager

chatContainer.setConfig(new CustomChatHeadConfig(this, 0, 100);

Setting badge count

Do check out our library circular-image (https://github.com/flipkart-incubator/circular-image) for generating a circular drawable containing upto 4 smaller bitmaps as well as a badge count.

License

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

More info

You can find a working example in MainActivity of demo module included in the source. If you want to add a feature or fix a bug, please issue a pull request. This implementation of chat heads is meant to be used within the activity context and cannot be used inside a service.

springy-heads's People

Contributors

prempalsingh avatar thekirankumar avatar viveksoneja28 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  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

springy-heads's Issues

adding EdiText

could you please consider adding an EdiText to the view. I've tried using FLAG_NOT_FOCUSABLE, but it makes no difference. The Soft Keyboard doesn't pop. Also it ruines the onKey event in MotionCapturingTouchListener.

Minimizing the chat head

Each time I'm minimizing the chat head and then maximizing it again the view of the fragment is getting recreated. is there a way to stop that?

How do I attach an activity to the inflated view?

In the service, I have tried to insert the code to use an auto complete view after the layout is inflated but the autocomplete text view now can't be typed in ie. no keyboard pops out.

Is there another way of attaching the activity to the inflated layout?

run in service: install dialog

Hi
I've tested "run-in-service" branch
when service is running, the apk installation dialog install button is not clickable. is there any sort of flag to
fix it.

add Image avatar

hi everybody,
how can i load avatar url to CircularDrawable?
thank all

InsetDrawable cannot be cast to TransitionDrawable

I've implemented the run_in_service library into my project. At the moment when I click on the springy head to maximize the arrangement, it crashes and spits out an error. The main line of the error is java.lang.ClassCastException: android.graphics.drawable.InsetDrawable cannot be cast to android.graphics.drawable.TransitionDrawable

Error: Here

Chat head service class: Here

Fragment Style/Theme

In the attachView callback of the adapter, inflating a fragment causes all the styles applied in the fragment to be ignored.

ExampleFragment fragment = ExampleFragment.newInstance();
View view = fragment.inflate((LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE), parent);
cachedView = view;
viewCache.put(key, view);

Even inflating directly from the layout xml this happens.

LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.fragment_example, parent, false);
cachedView = view;
viewCache.put(key, view);

Any tips on why this happens or how to fix it?

How to start ChatHeadService using another Service

The documentation says that this is supposed to use using Activity Context and cannot be use in service. Why and what are the reason for this? Is there anything we can do to run this service using another service class?

RTL support

Many thanks for great effort.
I have an issue that there is a strange behavior happens when I force RTL
the closed heads stick to the right and when I click them , the header is hidden

I use this code to force RTL:
try { String languageToLoad = "ar"; // your language Locale locale = new Locale(languageToLoad); Locale.setDefault(locale); Configuration config = activity.getResources().getConfiguration(); //config.locale = locale; config.setLocale(locale); activity.getResources().updateConfiguration(config, activity.getResources().getDisplayMetrics()); activity.getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL); } catch (Exception ex){ LogUtil.e(ex); }

Custom Behavior

Hi,
i would like to use this library because it works very good, but i need a custom behavior.

I need the "chat head" goes in a fixed position on the toolbar when it touches the sides of the display or if i make a fast bottom drag. And it is captured if i position it in the previous fixed toolbar position.
Is it possibile to achieve this behavior with this library?
Maybe i have to implement a new Arrangment?

Thanks for your help and for your work with this library

Webview does not update after creation.

Hi,

I am experiencing a problem when creating webview in chatbubble. The problem is: after creation webview stops updating, i.e webview stops loading dynamic content. In my application, webview is loading dynamic content in Activity/Fragment perfectly.

Another interesting thing is that, when the Activity which created chatbubble is opened and chatbubble is inflated, it loads all the contents. But if you start chatbubble from an Activity and then close the Activity then inflate chatbubble it fails to load all the dynamic content.

I have searched around applied all the webview settings still I am facing the same issue.

Any Ideas?

DispatchTouch

Hello,

I have problem because I cannot tap on views below in windowsManager layer. How we can dispatch touch event?

Failed to resolve

Error:(23, 13) Failed to resolve: com.flipkart.chatheads:app:0.9.6

what should I put in my build.gradle root?

custom maximized arrangement - chathead below

I'm trying to make the chathead below and the the expanded view above, but the altering topPadding in MaximizedArrangement, causes the expanded view to not to be scrollable. Is this expected behavior, anything that i can do to make the scrolling work?

Crash on removing the last chat head from view

A NullPointerException is thrown whenever the last head is removed from the view, thus causing the application to crash.


06-23 16:27:05.049 21780-21780/me.gurpreetsk.soundrecordingwithtts E/MaximizedArrangement: onSpringAtRest: 
                                                                                           java.lang.NullPointerException: Attempt to invoke virtual method 'com.facebook.rebound.Spring com.facebook.rebound.Spring.removeListener(com.facebook.rebound.SpringListener)' on a null object reference
                                                                                               at com.flipkart.chatheads.arrangement.MaximizedArrangement$2.onSpringAtRest(MaximizedArrangement.java:118)
                                                                                               at com.facebook.rebound.Spring.advance(Spring.java:445)
                                                                                               at com.facebook.rebound.BaseSpringSystem.advance(BaseSpringSystem.java:129)
                                                                                               at com.facebook.rebound.BaseSpringSystem.loop(BaseSpringSystem.java:143)
                                                                                               at com.facebook.rebound.AndroidSpringLooperFactory$ChoreographerAndroidSpringLooper$1.doFrame(AndroidSpringLooperFactory.java:117)
                                                                                               at android.view.Choreographer$CallbackRecord.run(Choreographer.java:872)
                                                                                               at android.view.Choreographer.doCallbacks(Choreographer.java:686)
                                                                                               at android.view.Choreographer.doFrame(Choreographer.java:618)
                                                                                               at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
                                                                                               at android.os.Handler.handleCallback(Handler.java:751)
                                                                                               at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                                               at android.os.Looper.loop(Looper.java:154)
                                                                                               at android.app.ActivityThread.main(ActivityThread.java:6121)
                                                                                               at java.lang.reflect.Method.invoke(Native Method)
                                                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
                                                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
06-23 16:27:05.052 21780-21780/me.gurpreetsk.soundrecordingwithtts E/WindowManagerContainer: updateLayout: 
                                                                                             java.lang.IllegalArgumentException: View=com.flipkart.chatheads.container.WindowManagerContainer$MotionCaptureView{ca123f3 V.ED..... ......I. 0,0-1080,1731} not attached to window manager
                                                                                                 at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:473)
                                                                                                 at android.view.WindowManagerGlobal.updateViewLayout(WindowManagerGlobal.java:368)
                                                                                                 at android.view.WindowManagerImpl.updateViewLayout(WindowManagerImpl.java:99)
                                                                                                 at com.flipkart.chatheads.container.WindowManagerContainer.updateLayout(WindowManagerContainer.java:214)
                                                                                                 at com.flipkart.chatheads.container.WindowManagerContainer.onArrangementChanged(WindowManagerContainer.java:204)
                                                                                                 at com.flipkart.chatheads.container.DefaultChatHeadManager.setArrangementImpl(DefaultChatHeadManager.java:388)
                                                                                                 at com.flipkart.chatheads.container.DefaultChatHeadManager.onMeasure(DefaultChatHeadManager.java:184)
                                                                                                 at com.flipkart.chatheads.container.HostFrameLayout.onLayout(HostFrameLayout.java:27)
                                                                                                 at android.view.View.layout(View.java:17637)
                                                                                                 at android.view.ViewGroup.layout(ViewGroup.java:5575)
                                                                                                 at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2346)
                                                                                                 at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2068)
                                                                                                 at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
                                                                                                 at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6338)
                                                                                                 at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
                                                                                                 at android.view.Choreographer.doCallbacks(Choreographer.java:686)
                                                                                                 at android.view.Choreographer.doFrame(Choreographer.java:621)
                                                                                                 at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
                                                                                                 at android.os.Handler.handleCallback(Handler.java:751)
                                                                                                 at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                                                 at android.os.Looper.loop(Looper.java:154)
                                                                                                 at android.app.ActivityThread.main(ActivityThread.java:6121)
                                                                                                 at java.lang.reflect.Method.invoke(Native Method)
                                                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
                                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)

Back Button not working while ChatHead is Visible.

Hello,
When I add new chathead in container the backpress button not working in other apps. I have to Maximised the chathead than minimise after that backpress work. What chathead is visible than keyboard does not open. Please help me out.

Scroll Image

Hi @sids
Can i scroll rounded image in a horizontally, is it possible then how? can u please guide me ?

Thanks (_)

System Freeze when cancel chat heads

Hi,
I want to report a bug.
I tried the PlayStore version (Springy chat head service).
When i delete the chat heads the system freeze and i have to reboot.

Error when i delete method "AddChatHead" when the app start.

Hi, i clone the project in android studio, when the Main Activity of the app start and launch the services, the bubble chathead automatically appears because the services class call automatically 2 methods:

screenshot_1

screenshot_4

the above image is my own App using the library, when i open the app automatically appears the bubble because the 2 methods from the image above are called, if i delete thats methods when i Rebuilt the project the app Crash practically telling me that i cant start the app without Necessarily "Add a new chatheads" And I do not want to open the bubble if I do not call it myself, and appears the following Log Error:

screenshot_2

If I open the blue link, it shows me the class that present the error in the library.

screenshot_3

Anyway, I just want to start the service without having to call the 2 methods that make the bubble appear automatically. how can I do this?

Error on detaching ChatHead

Hi there! Thanks for this wonderful library. I am having slight problem while removing ChatHead. Whenever, I try to detach ChatHead by moving it to the bottom I am getting this error:

java.lang.IllegalArgumentException: View=com.flipkart.chatheads.ui.container.WindowManagerContainer$MotionCaptureView{3f1e3c5 V.ED..... ......I. 0,0-480,767} not attached to window manager
06-05 00:32:50.318 30194-30194/com.jesture.phoenix W/System.err:     at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:473)
06-05 00:32:50.318 30194-30194/com.jesture.phoenix W/System.err:     at android.view.WindowManagerGlobal.updateViewLayout(WindowManagerGlobal.java:368)
06-05 00:32:50.318 30194-30194/com.jesture.phoenix W/System.err:     at android.view.WindowManagerImpl.updateViewLayout(WindowManagerImpl.java:101)
06-05 00:32:50.318 30194-30194/com.jesture.phoenix W/System.err:     at com.flipkart.chatheads.ui.container.WindowManagerContainer.onArrangementChanged(WindowManagerContainer.java:204)
06-05 00:32:50.318 30194-30194/com.jesture.phoenix W/System.err:     at com.flipkart.chatheads.ui.container.DefaultChatHeadManager.setArrangementImpl(DefaultChatHeadManager.java:398)
06-05 00:32:50.319 30194-30194/com.jesture.phoenix W/System.err:     at com.flipkart.chatheads.ui.container.DefaultChatHeadManager.onMeasure(DefaultChatHeadManager.java:186)
06-05 00:32:50.319 30194-30194/com.jesture.phoenix W/System.err:     at com.flipkart.chatheads.ui.HostFrameLayout.onLayout(HostFrameLayout.java:24)
06-05 00:32:50.319 30194-30194/com.jesture.phoenix W/System.err:     at android.view.View.layout(View.java:17641)
06-05 00:32:50.319 30194-30194/com.jesture.phoenix W/System.err:     at android.view.ViewGroup.layout(ViewGroup.java:5575)
06-05 00:32:50.319 30194-30194/com.jesture.phoenix W/System.err:     at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2346)
06-05 00:32:50.319 30194-30194/com.jesture.phoenix W/System.err:     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2068)
06-05 00:32:50.319 30194-30194/com.jesture.phoenix W/System.err:     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
06-05 00:32:50.319 30194-30194/com.jesture.phoenix W/System.err:     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6344)
06-05 00:32:50.319 30194-30194/com.jesture.phoenix W/System.err:     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
06-05 00:32:50.319 30194-30194/com.jesture.phoenix W/System.err:     at android.view.Choreographer.doCallbacks(Choreographer.java:686)
06-05 00:32:50.319 30194-30194/com.jesture.phoenix W/System.err:     at android.view.Choreographer.doFrame(Choreographer.java:621)
06-05 00:32:50.319 30194-30194/com.jesture.phoenix W/System.err:     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
06-05 00:32:50.320 30194-30194/com.jesture.phoenix W/System.err:     at android.os.Handler.handleCallback(Handler.java:751)
06-05 00:32:50.320 30194-30194/com.jesture.phoenix W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:95)
06-05 00:32:50.320 30194-30194/com.jesture.phoenix W/System.err:     at android.os.Looper.loop(Looper.java:154)
06-05 00:32:50.320 30194-30194/com.jesture.phoenix W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:6128)
06-05 00:32:50.320 30194-30194/com.jesture.phoenix W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
06-05 00:32:50.320 30194-30194/com.jesture.phoenix W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
06-05 00:32:50.320 30194-30194/com.jesture.phoenix W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)


Please help me out! Thanks!

Setting unread count for chat head functionality missing!

Do we have the functionality for setting unread count on the chat head. Looking at the source code, it seems the functionality is not there. Am I right?

In the demo app, though you are showing unread count as 2, that is just part of image. I feel that's a misleading info!

Change chatheat initialposition

Hi!
First off, great work!
I have a small question. I'm wondering how I can change the initial position of the first added cheathead. Right now it appears on the top left corner. I would like to change the initial position to right and add a slightly margin from the top.
This is the layoutparams when a chathead is created:
ViewGroup.LayoutParams layoutParams = chatHeadContainer.createLayoutParams(getConfig().getHeadWidth(), getConfig().getHeadHeight(), Gravity.START | Gravity.TOP, 0);

I have tried by changing the Gravity.START to END and it works but the touch events are not set to that position and therefore I can't maximize/minmize the chathead.

problems in using this library

I am naive to using library's
Tutorial on Readme lead to error
1.Like binary xml failed on
unable-to-start-activity-componentinfo-android-view-inflateexception-binary

<com.flipkart.chatheads.ChatHeadContainer android:id="@+id/chat_head_container" android:layout_width="match_parent" android:layout_height="match_parent"/>

or
<com.flipkart.chatheads.ui.ChatHeadContainer android:id="@+id/chat_head_container" android:layout_width="match_parent" android:layout_height="match_parent"/>

  1. Using demo for leads to many errors
    like unused imports DefaultChatHeadManager
    DefaultChatHeadManager symbol not found

https://github.com/thisisPratzz/EyeCare/tree/Springyhead

import or cloning project leads to gradle errors (a lot of them)
http://stackoverflow.com/questions/38825451/no-service-of-type-factory-available-in-projectscopeservices/38871519#38871519

Change color Status bar when MaximizedArrangement

Hi everyone!

Now, i have an issue. When MaximizedArrangement show, status bar color is transparent and it is not same color with overlay view. Anybody help me to change color status bar to same overlay view when MaximizedArrangement show.
SameSung Galaxy J7 Prime. / Android 7.0

img_1519188108677

`

Regarding using it in service

I would like to use similar functionality as a overlay layout using services, that is adding view to window manager but I am getting errors in,

@OverRide
public FragmentManager getFragmentManager() {
return TestFragment.fragmentManager;
}

Help me, Thank you

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.