krupen / fabulousfilter Goto Github PK
View Code? Open in Web Editor NEWAndroid library to animate Floating Action Button to Bottom Sheet Dialog and vice-versa
License: Apache License 2.0
Android library to animate Floating Action Button to Bottom Sheet Dialog and vice-versa
License: Apache License 2.0
Isn't it possible to lower API version to 14 or 15 like the latest support libraries? I tried it on Android SDK 15 and it worked fine..
java.lang.IllegalStateException: Fragment does not have a view
at android.support.v4.app.Fragment$2.onFindViewById(Fragment.java:2308)
I am getting above error every time when i try to open fragment dialog with viewpager
I have used FragmentStatePagerAdapter.
Hi. Thanks for the amazing work done so far. I was wondering if there was a way to prevent the view from scrolling past the peeking height and to not be cancelled when clicking outside the view. I am setting up two buttons on the bottom, one is Save and the other Cancel, which I want to use to close the view so that each time the closing animation is displayed. Thanks in advance
Hello,
I tried to execute the fragment code exemple with the sdk version 27 and I get a crash although it works perfectly with sdk version 26.
May be I could try to fix it I i get enough free time ;-)
This lib rocks, great work . ๐
Here's the stacktrace :
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.widget.ViewDragHelper.processTouchEvent(android.view.MotionEvent)' on a null object reference at com.allattentionhere.fabulousfilter.viewpagerbottomsheet.ViewPagerBottomSheetBehavior.onTouchEvent(ViewPagerBottomSheetBehavior.java:274) at android.support.design.widget.CoordinatorLayout.resetTouchBehaviors(CoordinatorLayout.java:389) at android.support.design.widget.CoordinatorLayout.onAttachedToWindow(CoordinatorLayout.java:235) at android.view.View.dispatchAttachedToWindow(View.java:15543) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2955) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1650) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1366) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6768) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:926) at android.view.Choreographer.doCallbacks(Choreographer.java:735) at android.view.Choreographer.doFrame(Choreographer.java:667) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:912) at android.os.Handler.handleCallback(Handler.java:761) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:156) at android.app.ActivityThread.main(ActivityThread.java:6523) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
Hi, Is there any way to pass data from MySampleFabFragment to main activity?
Static view (reset and apply buttons) disappear on samsung galaxy s8 if using device in full screen (there is no physyical button, but only soft on screen home/back buttons)
I checked source code and seems that in the ViewPagerBottomSheetBehavior:onLayoutChild method there is some issue in recalculate heights during the operation of show/hide.
Hi,
Anyone get sucess translating this lib for flutter ?
This lib rocks, but i cant reproduce it for flutter :(
I'm getting the following error each time I run the app. I followed usage instructions but I'm not sure where
I'm going wrong:
java.lang.NullPointerException at com.allattentionhere.fabulousfilter.AAH_FabulousFragment.onStart(AAH_FabulousFragment.java:98)
Animations are not working with constraint layout.
Some problem with this awesome library when have appcompat-v7:27.1.0, it emphasizes the red
I have error while fab.setVisibility(View.VISIBLE); ( compileSdkVersion 28)
error:-
VisibilityAwareImageButton.setVisibility can only be called from within the same library group (groupId=com.android.support) less... (Ctrl+F1)
This API has been flagged with a restriction that has not been met. Examples of API restrictions: * Method can only be invoked by a subclass * Method can only be accessed from within the same library (defined by the Gradle library group id) .* Method can only be accessed from tests. . You can add your own API restrictions with the @RestrictTo annotation.
Hi,
It's not an issue ;).
I just release my app using your library : You can check it here :
https://play.google.com/store/apps/details?id=justme.application.com.newconfapp
Thanks again for your work !
Bye and have a nice day
Hi, I am trying to use this inside a fragment and I have tried setting the peek height like this -
dialogFrag = SelectItemsBottomSheetFragment.newInstance();
dialogFrag.setParentFab(filterFab);
filterFab.setVisibility(View.GONE);
dialogFrag.setPeekHeight(600);
dialogFrag.setAnimationDuration(100);
@Override
public void setupDialog(Dialog dialog, int style) {
View contentView = View.inflate(getContext(), R.layout.select_board_requirement, null);
RelativeLayout rl_content = (RelativeLayout) contentView.findViewById(R.id.rl_content);
LinearLayout ll_buttons = (LinearLayout) contentView.findViewById(R.id.ll_buttons);
....
try {
setAnimationDuration(100); //optional; default 500ms
setPeekHeight(600); // optional; default 400dp
setCallbacks((Callbacks) getActivity()); //optional; to get back result
setViewgroupStatic(ll_buttons);
setViewMain(rl_content); //necessary; main bottomsheet view
setMainContentView(contentView); // necessary; call at end before super
} catch(Exception ignored){}
super.setupDialog(dialog, style); //call super at last
}
But, I am not observing any change in the initial height of the opened dialog.
Does the peek height has any restrictions w.r.t screen / viewport height.
Also, I wanted to use this with other form elements instead of simple dropdowns, but I don't understand why there is a requirement to setup the fab button to open it. I think with minimal refactoring we can open it from any View class.
----- Update ------
I tried again with peek height as 450 again and found it working so I guess it was a viewport height issue.
But, still I think the fab button dependency can be removed. I am not sure about what purpose does it serve in your library but if it is just to get the animation start position then I can submit a pull request for the same if you want.
how can add to viewpager custom fragmets ?
i've added some framgent but give me some error:
java.lang.IllegalStateException: Fragment does not have a view ...
Hi ;). I notice an error while playing with your library. Nice work by the way !
To Reproduce, Just Launch "Top Fab Demo" and while the Filters Fragment is open, rotate your phone. The app Crash with a Null Pointer Exception due to the Floating Action Button
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.design.widget.FloatingActionButton.getLocationInWindow(int[])' on a null object reference at com.allattentionhere.fabulousfilter.AAH_FabulousFragment.setupDialog(AAH_FabulousFragment.java:129)
Bye ;)
Hi,
Thanks for this awesome looking library but can you please help me, I'm trying to implement this library in fragment and getSupportFragmentManager is not working even getActivity().getSupportFragmentManager()
Hello! I get this exception, if i press FAB twice:
Fatal Exception: java.lang.IllegalStateException: Fragment already added: FilterFragment{a78520b #7}
at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1886)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:760)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2591)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2378)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2333)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2240)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:703)
at android.os.Handler.handleCallback(Handler.java:836)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6564)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1134)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:995)
In the example project it's the same. What can i do about it?
Hello,
I am using this library for Filtering in my application. And it's fantastic in look and use.
I am getting a crash when I use ViewPager with FragmentStatePagerAdapter in this library.
Here is crash : java.lang.IllegalStateException: Fragment does not have a view
And I can't find any solution to stop crashing and make this work.
Can you help me make it run ?
Thanks in Advance.
i got error on this line setCallbacks((Callbacks) getActivity()); //optional; to get back result
setAnimationListener((AnimationListener) getActivity()); //optional; to get animation callbacks
event i implemented AAH_FabulousFragment.Callbacks, AAH_FabulousFragment.AnimationListener in my main activity
Maybe version difference is the problem... need to update versions in you project from your side
Hello! I got this problem : this lib needs FAB of android support, but androidX is update to google...FAB, so it can't compatibility.
thanks for check.
How to Destroyed this fragment
I can change the background and other attributes but setting a whole style is not working for the button and it keeps displaying the default android button style:
<?xml version="1.0" encoding="utf-8"?>
<com.allattentionhere.fabulousfilter.AAH_FilterView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:background="@color/fancy_btn"
android:id="@+id/rl_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:visibility="invisible"
tools:ignore="MissingPrefix"
tools:visibility="visible">
<LinearLayout
android:background="@color/white"
android:id="@+id/ll_buttons"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatButton
android:text="@string/ok_got_it"
android:id="@+id/btn_close"
style="@style/ButtonCloseStyle" /> <!-- NOT WORKING -->
</LinearLayout>
</RelativeLayout>
</com.allattentionhere.fabulousfilter.AAH_FilterView>
Hello! In the layout of the fragment, the daughter element is ScrollView. The problem is that when you scroll down to the bottom and try to scroll up the fold. How can I fix this?
`
<com.allattentionhere.fabulousfilter.AAH_FilterView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/aah_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:isScrollContainer="true"
android:id="@+id/rl_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:background="@color/transBlackPlus"
android:visibility="invisible"
tools:ignore="MissingPrefix"
tools:visibility="visible">
<ScrollView
android:id="@+id/settings_scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
...
</ScrollView>
</RelativeLayout>
</com.allattentionhere.fabulousfilter.AAH_FilterView>`
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.