I have a vertical LinearLayout which has two another vertical layouts inside. The first one is always shown, and the second one depends on some event. I do want to animate that second layout when shown. How can I do it smoothly and nice? Thank you so much,
You should check out this library on Github. It may help. It is an animation library for listviews.
ListViewAnimations
A very simple, yet elegant way to get your layouts animated is by using the android:animateLayoutChanges="true" on its parent. This will likely take a lot of work in getting a nice animation out of your hands, unless you want to customize it.
With KitKat, Google introduced the android.transtion API, which may also be worth looking at.
You can create your own animation and you apply that animation to your layout when you need(In your case at the time of shown your layout)
yourLayout.startAnimation(yourAnimation);
Related
I created new login page in android studio. that activity xml looks good on Emulator but in real time mobile its looks like irregular alignments what can I do for that? I used Linear layout for that.
The most efficient solution is to use ConstraintLayout.
ConstraintLayout has a flat view hierarchy, unlike other layouts, so it performs better than various other layouts. Only a single layout can handle your UI.
Or you may use a RelativeLayout, and then use LinearLayout as a child inside RelativeLayout, i.e., you will need to create a hierarchy with some nested views, which will adversely affect performance.
Most probably you hard-coded pixels, try converting to ConstrainsLayout. 1 LinerLayout can not provide enough flexibility if the layout is not simple.
So I have a question about best practice for dynamically creating and sizing buttons within a ViewPager, based on a changing external state.
Essentially, I have a scrolling view and I want my ViewPager to contain a number of buttons of a specific size and count depending on what part of the scrolling view is currently visible.
My question is about deciding the best implementation of this feature, I see two options: would it be simpler to
Constantly create and scale new buttons whenever the scrolling view moves
Make the viewpager itself contain a scrollview and fill it with all of the pre-scaled buttons on app startup. Then, whenever the user scrolls the main scrollview the viewpager's scrollview (which contains the buttons) will scale programatically
Any ideas on which would be the simpler and more robust system?
Not much of an answer but I will leave a comment for ya! Basically you can do it either way, both aren't to difficult to accomplish, however I would probably go the dynamic route because it will always scale correctly. Doing a set amount will only work until devices become larger, or if you are targeting tablets or tvs then it will start to become extremely messy in the xml file for the layout. Dynamically adding also gives you far more control and saves time later on, you can simply change a number and have 100 more then going through and manually adding even 10. Hope this helps!
I have added in a Relative Layout some ImageViews with some Buttons and gave them some width and high values.I have tested the application on a nexus 7 and everything looks great but when I tested on other devices some functions like a popUpWindow or even some Views look wrong.Is there a way how to resise a layout with all his views dynamically to fit every device I test on ?
The values you're using are probably not what you're looking for. Instead, you may mean to use wrap_content or match_parent.
Please have a look at this tutorial on layouts and absorb and practice some of that before immediately asking for help. You got this!
I would like to know what the Android implementation is of this type of scrolling that you see in the Yahoo Weather App. Here is a video example:
http://www.youtube.com/watch?v=a-q_yetkpik
Any examples or ideas on how to implement this would sincerely help this poor lost soul!
Thank you
use that library https://github.com/xgc1986/ParallaxPagerLibrary, it's very easy to use, and it worked for me
demo
You should separate two different things here:
The horizontal scrolling
As you swipe your way through the viewpager, the background moves slower than the content does.
This effect can be achieved with the ParallaxPagerLibrary
The vertical scrolling
As you swipe up, the background image blurs away, making the "swiped up" content more visible to the user. This post explains it all and also provides a library.
But if you want it even better, someone wrote a simple "clone" of this weather app https://github.com/MoshDev/LikeYahooWeather
They customized ViewPager, the widget is called WeatherViewPager that it's unfortunately unavailable, looks like a ViewPager with a sort of parallax
You may take a look at https://play.google.com/store/apps/details?id=com.desarrollodroide.repos
it's a collection of usable opensource libraries
e.g. Utils->Paralloid or Utils->ParallaxScroll
It's there a way to make a vertical slider on Android?, for example, I want the action bar to be dragged all the way from top to bottom, to show a fragment, pretty much like the notification bar on Android.
Thank you very much
There is always a way ;), but it would take some custom code to do it. I don't really have to much time to write something out for you, but I did find something that may be useful to you. These guys open sourced a slide from bottom to top view like is used in Google Play Music. You can take a look and maybe modify it to slide from top to bottom.
https://github.com/umano/AndroidSlidingUpPanel
Good Luck
There used to be a slidingdrawer view as part of the framework but it's now deprecated. There is however a nice implementation of something similar on github that you can take a look at here:
https://github.com/umano/AndroidSlidingUpPanel
Umano's Drawer is dated and limited. You should use a more up-to-date library like https://github.com/drxeno02/androidprojects-book2-slidingdrawer.
This library has no limitations such as only having two children. You can have as many children as you want, and you can set offsets and design your drawer to look anyway you want.