michaldrabik / tapbarmenu Goto Github PK
View Code? Open in Web Editor NEWTap Bar Menu
License: Apache License 2.0
Tap Bar Menu
License: Apache License 2.0
i hope the lib will support sdk 15 / now min sdk is 16
why it does not work correctly with Relative Layout Param, i tried to change her position after the click and make it in the button but it does not work my code :
val barMenu: RelativeLayout.LayoutParams = RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.WRAP_CONTENT)
barMenu.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM)
then in the button click
tapBarMenu.layoutParams = barMenu
Hi!
Thanks for this cool menu!
It would be nice to have listeners for various events like onClose, onOpen.
How to make the selected item appears as selected
when i try to run the app it's giving me this error this is my APP
"Manifest merger failed with multiple errors, see logs"
Just tried to modify a sample project, changing animationDuration resource field (res->values->ints.xml) to any other value - animation is always FAST, without any delay. Checked few times (500,5000,50000) - without any success. Finally, used some hardcoded value - instead of configuration - works fine only in GenyMotion emulator. Can't get a delay with animation on my phone... Any ideas, how to resolve it?
My new project with sdk 33,use tapbarMenu,throw a exception at " iconClosedDrawable = ResourcesCompat.getDrawable(getContext(), R.drawable.icon_close_animated);",the exception is 'android.content.res.Resources$NotFoundException' .
Switch Case with onclick implement does not account for "X" (close)... so when I press it, it launches my first switch case statement instead of closing.
mEmail = (ImageView) v.findViewById(R.id.menu_email);
mShare = (ImageView) v.findViewById(R.id.menu_share);
mEmail.setOnClickListener(onClickListener);
mShare.setOnClickListener(onClickListener);
private View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
int id = v.getId();
switch(id){
case R.id.menu_email:
sendEmail();
Log.i("TAG", "Item email selected");
tapBarMenu.close();
break;
case R.id.menu_share:
shareButton();
Log.i("TAG", "Item share selected");
tapBarMenu.close();
break;
}
}
};
I added the library to my gradle file and when attempting to sync I get this error.
Error:Error: error in parsing "g/"
Error:Execution failed for task ':app:mergeDebugResources'.
>app/build/intermediates/exploded-aar/com.wnafee/vector-compat/1.0.5/res/drawable/ic_arrow_vector.xml: Error: error in parsing "g/"
:app:mergeDebugResources FAILED
Add an option to use regular drawable instead of an animated vector drawable in the attributes app:tbm_iconClosed and app:tbm_iconOpened
If not, would be cool if you give directions how to extend it and what to change, so it can be made vertical. Thanks
Can you please guide, I want to use in fragment (support.v4.app)
Here is the full error Log--
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.valueshipr.cargo.qa, PID: 32461
java.lang.NullPointerException: Attempt to read from null array
at com.michaldrabik.tapbarmenulib.TapBarMenu.onDraw(TapBarMenu.java:349)
at android.view.View.draw(View.java:17083)
at android.view.View.updateDisplayListIfDirty(View.java:16065)
at android.view.View.draw(View.java:16849)
at android.view.ViewGroup.drawChild(ViewGroup.java:3768)
at android.support.design.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1230)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3554)
at android.view.View.draw(View.java:17086)
at android.view.View.updateDisplayListIfDirty(View.java:16065)
at android.view.View.draw(View.java:16849)
at android.view.ViewGroup.drawChild(ViewGroup.java:3768)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3554)
at android.view.View.draw(View.java:17086)
at android.view.View.updateDisplayListIfDirty(View.java:16065)
at android.view.View.draw(View.java:16849)
at android.view.ViewGroup.drawChild(ViewGroup.java:3768)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3554)
at android.view.View.updateDisplayListIfDirty(View.java:16060)
at android.view.View.draw(View.java:16849)
at android.view.ViewGroup.drawChild(ViewGroup.java:3768)
at android.support.v4.widget.DrawerLayout.drawChild(DrawerLayout.java:1379)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3554)
at android.view.View.draw(View.java:17086)
at android.view.View.updateDisplayListIfDirty(View.java:16065)
at android.view.View.draw(View.java:16849)
at android.view.ViewGroup.drawChild(ViewGroup.java:3768)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3554)
at android.view.View.updateDisplayListIfDirty(View.java:16060)
at android.view.View.draw(View.java:16849)
at android.view.ViewGroup.drawChild(ViewGroup.java:3768)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3554)
at android.view.View.updateDisplayListIfDirty(View.java:16060)
at android.view.View.draw(View.java:16849)
at android.view.ViewGroup.drawChild(ViewGroup.java:3768)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3554)
at android.view.View.updateDisplayListIfDirty(View.java:16060)
at android.view.View.draw(View.java:16849)
at android.view.ViewGroup.drawChild(ViewGroup.java:3768)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3554)
at android.view.View.updateDisplayListIfDirty(View.java:16060)
at android.view.View.draw(View.java:16849)
at android.view.ViewGroup.drawChild(ViewGroup.java:3768)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3554)
at android.view.View.draw(View.java:17086)
at com.android.internal.policy.DecorView.draw(DecorView.java:751)
at android.view.View.updateDisplayListIfDirty(View.java:16065)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:657)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:663)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:771)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2808)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2616)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2223)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1258)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6348)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
at android.view.Choreographer.doCallbacks(Choreographer.java:683)
at android.view.Choreographer.doFrame(Choreographer.java:619)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
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:6123)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
menu
I try it in the Android 4.4.4(API 19), and the menu bar can't display completely.Like this: the part of menu was gone.
And i try it in the Android emulator (API 23)again and everything is all right. Why?
one more thing, i found it have lag when you click the button to go to other Activity.(the same in API 23 and API 19)
Another question, how could the TapBarMenu can applied to all Activity?(I'm newcomer)
Thank you !
I tried using the 1.0.5 version first. I added the dependency and the implementation in my build.gradle file as:
maven { url 'https://jitpack.io' }
and
implementation 'com.github.michaldrabik:TapBarMenu:1.0.5'
The gradle sync and build happened smoothly, then when I tried to run my application, this is what showed up
Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Then I tried using the 1.0.6 version, I updated my dependency as:
implementation 'com.github.michaldrabik:TapBarMenu:1.0.6'
The gradle sync happened smoothly and then after when I tried running the application, this came up
Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
Please help me with this!!!
Here's the error I am getting, it may be conflict with another plugin ill keep testing and let you know:
/Users/cjones/Documents/Development/TheJonesTheory/app/build/intermediates/exploded-aar/com.wnafee/vector-compat/1.0.5/res/drawable/ic_play_vector.xml
Error:Error: error in parsing "g/"
:app:mergeDebugResources FAILED
Error:Execution failed for task ':app:mergeDebugResources'.
/Users/cjones/Documents/Development/TheJonesTheory/app/build/intermediates/exploded-aar/com.wnafee/vector-compat/1.0.5/res/drawable/ic_play_vector.xml: Error: error in parsing "g/"
Repeat open - close several times increases the memory usage
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.