mohak1712/UberUX
mohak1712/UberUX has 1,228 GitHub stars and 286 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 07:37 UTC. Last push 2019-09-01.
Project that demonstrates the entire animation stack present in the Uber app (android)
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalUberUX
Project that demonstrates the entire animation stack present in the Uber app (android)
Demo

Libraries
Concepts
Transitions - For sharing elements between activities
void startTransition() {
Intent intent = new Intent(LoginActivity.this, LoginWithPhone.class);
Pair<View, String> p1 = Pair.create((View) ivBack, getString(R.string.transition_arrow));
Pair<View, String> p2 = Pair.create((View) ivFlag, getString(R.string.transition_ivFlag));
Pair<View, String> p3 = Pair.create((View) tvCode, getString(R.string.transition_tvCode));
Pair<View, String> p4 = Pair.create((View) tvPhoneNo, getString(R.string.transition_tvPhoneNo));
Pair<View, String> p5 = Pair.create((View) llphone, getString(R.string.transition_llPhone));
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(this, p1, p2, p3, p4, p5);
startActivity(intent, options.toBundle());
}
ViewPagerTransformer - For performing animations when ViewPager is swiped
ViewPager.PageTransformer pageTransformer = new ViewPager.PageTransformer() {
@Override
public void transformPage(View page, float position) {
if (position < -1) {
} else if (position <= 1) {
// animate here
}
}
}
};
Overlays - For creating overlays on map
public void addOverlay(LatLng place) {
GroundOverlay groundOverlay = mMap.addGroundOverlay(new
GroundOverlayOptions()
.position(place, 100)
.transparency(0.5f)
.zIndex(3)
.image(BitmapDescriptorFactory.fromBitmap(drawableToBitmap(getDrawable(R.drawable.map_overlay)))));
}
ValueAnimator - For animating overlays and polylines
ValueAnimator tAnimator = ValueAnimator.ofFloat(0, 1);
tAnimator.setRepeatCount(ValueAnimator.INFINITE);
tAnimator.setRepeatMode(ValueAnimator.RESTART);
tAnimator.setInterpolator(new LinearInterpolator());
tAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
// animate here
}
});
PolyLines - For drawing lines on map
PolylineOptions greyOptions = new PolylineOptions();
greyOptions.width(10);
greyOptions.color(Color.GRAY);
greyOptions.startCap(new SquareCap());
greyOptions.endCap(new SquareCap());
greyOptions.jointType(ROUND);
greyPolyLine = mMap.addPolyline(greyOptions);
How to use this project
Add your GoogleMaps and GooglePlaces key to google_maps_api.xml and turn on direction api from developer console -> You are good to go !
Explore related projects
ytdl-org/youtube-dl
Command-line program to download videos from YouTube.com and other video sites
141,500 starsexcalidraw/excalidraw
Virtual whiteboard for sketching hand-drawn like diagrams
135,396 starsgodotengine/godot
Godot Engine – Multi-platform 2D and 3D game engine
119,840 starsmrdoob/three.js
JavaScript 3D Library.
117,905 stars