Implementation of Instagram with Material Design (originally based on Emmanuel Pacamalan's concept)

Related tags

App InstaMaterial
Overview

InstaMaterial

Updated

Current source code contains UI elements from Design Support Library. If you still want to see how custom implementations of e.g. Floating Action Button or Navigation drawer work, just checkout this source code on tag Post 8.

Source code for implementation of Instagram with Material Design (based on Emmanuel Pacamalan's concept).

INSTAGRAM with Material Design concept video

Android Arsenal

Summary

The summary of making of InstaMaterial project is available on blog: Instagram with Material Design concept is getting real

Current build

The most recent app version is available here

Full showcase of application

App showcase

Blog posts

Getting started - opening the app

Implemented elements and effects:

  • Application intro transitions
  • Toolbar
  • Floating action button
  • RecyclerView

Opening app animation


Comments transition

Implemented elements and effects:

  • Comments view enter and exit transition

Comments view transition


Feed and comment buttons

Implemented elements and effects:

  • Send button animation in comments view
  • ViewAnimator
  • Ripples
  • RecyclerView smoothness

Feed and comment buttons


Feed context menu

Implemented elements and effects:

  • Floating context menu for feed item

Context menu


Like action effects

Implemented elements and effects:

  • Like counter
  • Like button animation
  • Like photo animation
  • AnimatorSet
  • ObjectAnimator
  • TextSwitcher

Like action effects


User profile

Implemented elements and effects:

  • User profile
  • Circural user photo
  • Circural reveal transition
  • ViewPropertyAnimator

User profile


Navigation Drawer

Implemented elements and effects:

  • Navigation Drawer
  • DrawerLayoutIstaller

Navigation Drawer


Capturing photo

Implemented elements and effects:

  • Camera preview
  • Capturing photo
  • Circular reveal

Capturing photo


Publishing photo

Implemented elements and effects:

  • Custom view drawing
  • Intent flags

Publishing photo

Comments
  • when i run the code in eclipse,it seems an error ocurred.

    when i run the code in eclipse,it seems an error ocurred.

    Caused by: java.lang.NullPointerException at io.github.froger.instamaterial.ui.activity.MainActivity.setupFeed(MainActivity.java:60) at io.github.froger.instamaterial.ui.activity.MainActivity.onCreate(MainActivity.java:44)

    opened by goatatop 6
  • I discovered a bug in feed animation

    I discovered a bug in feed animation

    I discovered a bug in feed animation: if you set visibility to gone on the square image view,you will find animation just happen to first feed

    this is not discovered in current implementation cause first feed take the whole screen

    I did that cause I need to simulate feeds that dont have image or image that its height is less than screen height

    opened by ghost 2
  • Updates tools and libs to latest versions

    Updates tools and libs to latest versions

    CWAC Camera was not updated yet due to the complete API changes in the version that uses Camera2. I will open another PR with this specific update when I have more time.

    opened by rafaeltoledo 1
  • import Project,build error

    import Project,build error

    opened by clawpo 1
  • could not take a picture

    could not take a picture

    this is what i got when i'm trying to take a picture with my Galaxy S4

    04-02 16:03:11.991 27490-27490/io.github.froger.instamaterial E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: io.github.froger.instamaterial, PID: 27490 java.lang.RuntimeException: setParameters failed at android.hardware.Camera.native_setParameters(Native Method) at android.hardware.Camera.setParameters(Camera.java:1747) at com.commonsware.cwac.camera.CameraView.takePicture(CameraView.java:308) at com.commonsware.cwac.camera.CameraView.takePicture(CameraView.java:279) at io.github.froger.instamaterial.ui.activity.TakePhotoActivity.onTakePhotoClick(TakePhotoActivity.java:145) at io.github.froger.instamaterial.ui.activity.TakePhotoActivity$$ViewInjector$1.doClick(TakePhotoActivity$$ViewInjector.java:35) at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22) at android.view.View.performClick(View.java:4633) at android.view.View$PerformClick.run(View.java:19330) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:157) at android.app.ActivityThread.main(ActivityThread.java:5356) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081) at dalvik.system.NativeStart.main(Native Method)

    opened by oussamajebali 1
  • Can't open project in Android Studio

    Can't open project in Android Studio

    This is the error I get :

    Failed to set up Android modules in project 'InstaMaterial-master': Unsupported method: SourceProvider.getJniDirectories(). The version of Gradle you connect to does not support that method. To resolve the problem you can change/upgrade the target version of Gradle you connect to. Alternatively, you can ignore this exception and read other information from the model.

    opened by C-Aniruddh 1
  • RecyclerView onItemClickListener

    RecyclerView onItemClickListener

    Would you say this approach for click listening is better? This way you can use ButterKnife's @OnClick inside the CellFeedViewHolder, but you have to pass it a listener.

    opened by egor-n 1
  • Bug in InstaMaterial App: my feed, news, setting, and all features not working #44

    Bug in InstaMaterial App: my feed, news, setting, and all features not working #44

    Expected behavior

    I want to open my feeds, news and regulators in the InstaMaterial app but it does not work, I try to go back to the homepage and then go back in the app but all the features do not work, which is when I press the news directly into new notifications, as well as my settings can set the available language in settings.

    Actual behavior

    Opening my feeds, news and settings does not work, and all the other features do not work, when I open an existing feature in the Instamaterial app all the features do not work, I have repeatedly pressed these features but it does not work too, I can only see other people's posts only, and I myself can not post my photos.

    How to reproduce

    • Browser: InstaMaterial [lates version]
    • Operating system: Android v.6.0

    Recording Of The Bug

    https://m.youtube.com/watch?v=IJS8c0GRq4I

    opened by zaid222 0
  • Strange bug on low RAM devices.

    Strange bug on low RAM devices.

    When I test this app on devices with less than 1.5GB of RAM, the app starts the first time. But then crashes. Or it crashes specifically when accessing to the "CommentsActivity". (API 18) The only log shown is this:

    I/Choreographer: Skipped 136 frames!  The application may be doing too much work on its main thread.
    A/libc: @@@ ABORTING: invalid address or address of corrupt block 0x55cf6468 passed to dlfree
    A/libc: Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 21257
    

    Thanks!

    opened by EzequielAdrianM 0
  • Enter Animation didn't work when I moved startContentAnimation()  to onCreate()

    Enter Animation didn't work when I moved startContentAnimation() to onCreate()

    In MainActivity, when I moved startContentAnimation() into onCreate(): `@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setupFeed();

        //if (savedInstanceState == null) {
        //    pendingIntroAnimation = true;
        //} else {
        //    feedAdapter.updateItems(false);
        //}
    
        startContentAnimation();
    }`
    

    It supposed to play the recyclerview's enter animation after the activity created, but I found that the FeedItemAnimator's animateAdd didn't called, why?

    opened by oHeHeHou 0
  • How can i change the UserProfile tabs?

    How can i change the UserProfile tabs?

    all data include header,options and photos are build in just one RecyclerView In the UserProfileActivity. How can i change the photos only when click the tabs?

    opened by JiangDaYa0 0
  • Refactor this method to not always return the same value

    Refactor this method to not always return the same value

    Screenshot_19 SonarQube is saying that methods returns should not be invariant When a method is designed to return an invariant value, it may be poor design, but it shouldn't adversely affect the outcome of your program. However, when it happens on all paths through the logic, it is surely a bug.This rule raises an issue when a method contains several return statements that all return the same value. Thank you

    opened by danielmunteanu123 0
  • Add a private constructor in the Utils class to hide the implicit public one.

    Add a private constructor in the Utils class to hide the implicit public one.

    Screenshot_20 I've used SonarQube and found this bug which is not critical but it should be fixed. Utility classes should not have public constructors

    Utility classes, which are collections of static members, are not meant to be instantiated. Even abstract utility classes, which can be extended, should not have public constructors. Java adds an implicit public constructor to every class which does not define at least one explicitly. Hence, at least one non-public constructor should be defined.

    Thank you

    opened by danielmunteanu123 1
  • F-Droid

    F-Droid

    Hi,

    Since this app is Apache 2 licensed, are you considering the fact to add it to F-Droid? There is a strong community behind, that do not use Google Play nor anything else, except F-Droid.

    You can find some documentation here.

    You can write a small new build flavor to exclude non-free binaries and libraries.

    opened by Poussinou 0
  • Warning : requestLayout() improperly called

    Warning : requestLayout() improperly called

    When the likes counter is updated, this warning appears in the console.

    09-18 14:47:14.751 8414-8414/io.github.froger.instamaterial W/View: requestLayout() improperly called by android.support.v7.widget.AppCompatTextView{b2730f6 V.ED..... ......ID 0,0-143,57} during layout: running second layout pass

    I also have a TextSwitcher in my RecyclerView items and when calling textSwitcher.setTextin my ItemAnimator, i also have this warning. Would you have an idea why this is happening and how we could avoid it ?

    Thanks in advance for the help !

    opened by gmeral 1
Releases(Design_Support_Library)
Owner
Mirosław Stanek
Tech Lead at @AzimoLabs - the tech team behind Azimo.com. I dream big 🌌 🔭 and build technology for people 💻 💚 👫. #Mobile #AI #R&D.
Mirosław Stanek
📱 Android Library to implement Rich, Beautiful, Stylish 😍 Material Navigation View for your project with Material Design Guidelines. Easy to use.

Material NavigationView for Android ?? ?? Android Library to implement Rich, Beautiful Material Navigation View for your project with Material Design

Shreyas Patil 198 Dec 17, 2022
Words App which acts as a dictionary. Use the concept of Intent.

Words App This folder contains the source code for the Words app codelab. Introduction Words app allows you to select a letter and use Intents to navi

Naman Agarwal 6 Dec 6, 2021
Proof of concept of custom widgets and apps running on the Z Flip3 cover screen. Adds a widget to Z Flip3 cover screen that lets you launch a web browser-like app on the cover.

SubUI-browser Proof of concept of custom widgets and apps running on the Z Flip3 cover screen. Adds a widget to Z Flip3 cover screen that lets you lau

null 35 Dec 24, 2022
A bare minimum proof-of-concept for Log4j2 JNDI RCE vulnerability (CVE-2021-44228/Log4Shell)

Log4j2 RCE Vulnerability POC A bare minimum proof-of-concept for Log4j2 JNDI Remote-Code-Execution vulnerability (CVE-2021-44228). This is intended fo

Sola 4 Aug 17, 2022
STxMobile is a proof of concept of an Android app for remotely controlling the Raymarine ST2000+ tiller pilot from an Android phone.

STxMobile STxMobile is a proof of concept of an Android app for remotely controlling the Raymarine ST2000+ tiller pilot from an Android phone. The app

Marco 8 Sep 1, 2022
A proof-of-concept of a fractal/recursive navigation system.

compose-fractal-nav A proof-of-concept of a fractal/recursive navigation system. Instead of defining a bunch of top-level routes with navigation movin

Zach Klippenstein 302 Nov 3, 2022
:octocat: A demo project based on MVVM architecture and material design & animations.

GithubFollows A simple demo project based on MVVM clean architecture and material design & animations. Architecture Specs & Open-source libraries Mini

Jaewoong Eum 288 Dec 25, 2022
🎬 A demo project for The Movie DB based on Kotlin MVVM architecture and material design & animations.

TheMovies A simple project for The Movie DB based on Kotlin MVVM clean architecture and material design & animations. How to build on your environment

Jaewoong Eum 420 Nov 29, 2022
🎬 A demo project using The Movie DB based on Kotlin MVVM architecture and material design & animations.

TheMovies2 A simple project using The Movie DB based on Kotlin MVVM architecture and material designs & animations. How to build on your environment A

Jaewoong Eum 450 Jan 2, 2023
A simple Pokedex App getting API with Retrofit, maintaining data using LiveData, and Material Design based on MVVM architecture

PokedexApp Pokedex A simple Pokedex App getting API with Retrofit, maintaining data using LiveData, and Material Design based on MVVM architecture. Te

Steven Adriano 0 Apr 12, 2022
An small android app based on banking logic, usilng SQLITE as database, material design, navigation drawer implemented

Android Banking App Project - Using Sqlite The Banking app using java in android studio and sqlite for crud. Packages Used Material Design Contributin

Md-Mahin-Rahman 4 Dec 6, 2022
📦📦Video downloader for Android - Download videos from Youtube, Facebook, Twitter, Instagram, Dailymotion, Vimeo and more than 1000 other sites

youtube-dl-android ?? An Android client for youtube-dl: https://github.com/rg3/youtube-dl Major technologies Language: Kotlin Architecture: MVVM Andro

Cuong Pham 445 Jan 8, 2023
A minimalist clone of the popular Social Media Platform "Instagram"

InstaLocal A minimalist clone of the popular Social Media Platform "Instagram" powered by Firebase and written in Kotlin. The app allows users to sign

Raktim Bhuyan 1 Nov 7, 2021
KotinInstagramClone - Kotlin Instagram Clone

Kotin Instagram Clone Bu uygulamayı yazarken çeşitli kaynaklardan yardım alarak

Yakup Üstüner 0 Feb 2, 2022
Instagram clone App in android using Kotlin, LiveData, MVVM, Dagger, RxJava and Retrofit.

Instagram-Project-in-android-with-MVVM-architecture Project from MindOrks Professional Bootcamp with self practice work and added some additional feat

Abhishek Solanki 3 Feb 28, 2022
A clone of Instagram I made with Firebase.

InstagramClone In this project, I made an Instagram clone. I used firebase auth, firestore database and storage, I wrote it according to mvvm architec

Süveybe Sena Küçük 15 Dec 1, 2022
Android-stories: A simple stories library inspired by Instagram and alike

A simple stories library inspired by Instagram and alike. Requirements Min SDK >= 22 Installation Add these dependencies to your proje

red_mad_robot Tomsk 5 Aug 31, 2022
Instagram-like story editor in compose

Story Editor Instagram-like story editor to add content to your pictures. Note: this is still a WIP Setup First, add jitpack in your build.gradle at t

Yann Badoual 27 Nov 30, 2022