All Projects → dev-ritik → Emojireactionview

dev-ritik / Emojireactionview

Licence: mit
Instagram's emoji reaction for android!

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Emojireactionview

Akgpushanimator
Easily Push and Pop viewcontroller like Instagram App with Interaction
Stars: ✭ 44 (-35.29%)
Mutual labels:  instagram
Personal Influxdb
Import data from various APIs into InfluxDB
Stars: ✭ 51 (-25%)
Mutual labels:  instagram
Instago
Download/access photos, videos, stories, story highlights, postlives, following and followers of Instagram
Stars: ✭ 59 (-13.24%)
Mutual labels:  instagram
Instalator Telegram
Telegram Bot для автоматизации массфаловинга и управления Instagram аккаунтами
Stars: ✭ 46 (-32.35%)
Mutual labels:  instagram
Ohcubeview
A UIScrollView subclass inspired by the Instagram Stories cube animation
Stars: ✭ 48 (-29.41%)
Mutual labels:  instagram
Instauto
Simple to use wrapper around the private Instagram API, written in Python.
Stars: ✭ 52 (-23.53%)
Mutual labels:  instagram
Instarat
best tool for instagram followers increasing
Stars: ✭ 42 (-38.24%)
Mutual labels:  instagram
Insta Downloader Extension
A browser extension that injects download buttons ⬇️ for media on Instagram Web
Stars: ✭ 63 (-7.35%)
Mutual labels:  instagram
Scrapstagram
An Instagram Scrapper
Stars: ✭ 50 (-26.47%)
Mutual labels:  instagram
Maskrcnn Modanet
A Mask R-CNN Keras implementation with Modanet annotations on the Paperdoll dataset
Stars: ✭ 59 (-13.24%)
Mutual labels:  instagram
Social Scraper
Tổng hợp script crawl dữ liệu từ các mạng xã hội & website tiếng Việt
Stars: ✭ 47 (-30.88%)
Mutual labels:  instagram
Instagram Api Toolkit
Instagram Private API generator toolkit - A single source of truth for generated SDKs
Stars: ✭ 48 (-29.41%)
Mutual labels:  instagram
Mediapickerinstagram
🔧 - Battlefield of an idea, how to make the same media picker than Instagram
Stars: ✭ 56 (-17.65%)
Mutual labels:  instagram
Nemiro.oauth.dll
Nemiro.OAuth is a class library for authorization via OAuth protocol in .NET Framework
Stars: ✭ 45 (-33.82%)
Mutual labels:  instagram
Instapy Research
📄 Research repository for InstaPy
Stars: ✭ 60 (-11.76%)
Mutual labels:  instagram
Public Instagram
Tool to fetch Instagram's public content.
Stars: ✭ 43 (-36.76%)
Mutual labels:  instagram
Keyring
Keyring is an authentication framework for WordPress. It comes with definitions for a variety of HTTP Basic, OAuth1 and OAuth2 web services. Use it as a common foundation for working with other web services from within WordPress code.
Stars: ✭ 52 (-23.53%)
Mutual labels:  instagram
Instadart Flutter Instagram Clone
Instagram Clone App Using - Dart, Flutter, Firebase
Stars: ✭ 66 (-2.94%)
Mutual labels:  instagram
Instagram Unfollowers
Who unfollowed you, who followed you, who doesn't follow you back, who liked your pics the most and who never? Don't worry I got all the answers. Also this can used for non-private users too.
Stars: ✭ 62 (-8.82%)
Mutual labels:  instagram
Hackphiles
BruteForce Tool For both Instagram and Facebook
Stars: ✭ 57 (-16.18%)
Mutual labels:  instagram

EmojiReactionView


An Android library to make Emoji Reactions on imageviews in a manner Instagram does this!.


Table of contents

Features

  • Design : The library tries to be reasonably close to the original Instagram's design.
  • Customization : Users can customize the look to a great extent easily and reliably.
  • Support for RecyclerView : It can easily be used with Recycler views.
  • Optimum performance : Efforts have been made to keep memory usage as small as possible.
  • Unharmed image : The library doesn't change/modify the image, so every modification of image as imageview is possible

Example

Below is the two sample for usage of the library:


Usage

Just add the following dependency in your app's build.gradle

repositories {
    maven {
        url 'https://dl.bintray.com/dev-ritik/EmojiReactionView/'
    }
}

dependencies {
    implementation 'com.ritik:emojireactionlibrary:1.0.2'
}

Add the following code in your xml file

<com.ritik.emojireactionlibrary.EmojiReactionView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/image"
        app:emojis="@array/emoji" />

where emoji is an array resource which is the address to all emojis to be in the panel like:

    <array name="emoji">
        <item>@drawable/em1</item>
        <item>@drawable/em2</item>
        <item>@drawable/em2</item>
    </array>

and for the home emoji, rename that to home, so that its resource id becomes R.drawable.home to override default home emoji originally set.

To get notified of when the emojis are clicked, you can use:

myImage.setOnEmojiClickListener(new ClickInterface() {
    @Override
    public void onEmojiClicked(int emojiIndex, int x, int y) {
        // emojiIndex is the index of the emoji being clicked (0 based)
        // x,y are the coordinates of the clicked position relative to the image 
        // (if x && y == -1 => changed by program(SetClickedEmojiNumber)
    }

    @Override
    public void onEmojiUnclicked(int emojiIndex, int x, int y) {
        // emojiIndex is the index of the emoji being clicked (0 based)
        // x,y are the coordinates of the clicked position relative to the image 
        // (if x && y == -1 => changed by program(SetClickedEmojiNumber)
    }
});

If you are struck somewhere, you can always check its usage in the sample app for Simple and RecyclerView usage.

With this all done and working, you have made to the default design!

Further customization

The library provides these attributes to modify default design to a custom one:

Attribute Description Type(Range) Default Value
emojis Set the emojis to be displayed in the panel animation reference
set_emoji Set the current selected emoji integer(>-1)(< noe*) (0 based) -1
home_Center_X Set the x coordinate of homeEmoji's center dimensions 30 * density
home_Center_Y Set the y coordinate of homeEmoji's center dimensions Height - 30 * density
home_side Set the side length of homeEmoji dimensions 50 * density
panel_center_X Set the x coordinate of the center of panel animation dimension or fraction [0%,100%] (w.r.t width)# width / 2
panel_center_Y Set the y coordinate of the center of panel animation dimension or fraction [0%,100%] (w.r.t height) Height - emojiSide / 2
panel_radius Set the radius of panel animation dimension min(Height,Width) / 2 - 20 * density
panel_emoji_side Set the side of emojis on the panel dimension 50 * density
emojis_rising_height Set the height of the rising emojis(to start disappearing) fraction [0%,100%] (w.r.t height)# Height / 2
emojis_rising_speed Set the speed per frame of the rising emojis dimension 10 * density
emojis_rising_number Set the number of emojis rising in rising emojis animation integer 24

*noe = number of emojis.
# measurement from bottom

Public methods

Method Description Data Type
getCentre Get the center of panel animation int(Pixels)
getRadius Get the radius of panel animation int(Pixels)
get/SetClickedEmojiNumber Get/Set the current selected emoji int (-1 for none)(0 based)
getNumberOfEmojis Get the number Of emojis in the panel int
getEmojisRisingSpeed Get the speed per frame of the rising emojis int(Pixels)
getHomeRect Get the Rect of the home emoji Rect
getPanelEmojiSide Get the side of emojis on the panel int(Pixels)
get/SetHomeBitmap Get/Set the bitmap of the home emoji Bitmap
isHomeEmojiVisible Is home emoji visible boolean
isPanelAnimWorking Is panel visible boolean
isClickingAnimWorking Is the clicking animation working boolean
isEmojiRising Is emoji rising animation visible boolean
setHomeEmojiVisible Switch to home bitmap visible mode boolean
setPanelAnimWorking Start the panel animation boolean

Contributions

All contributions are welcome and appreciated. Please make a Pull Request or open an issue, if necessary. This may also include any form of feature enhancement. Every constructive criticism is welcome. See Contributing.md

License

This library is licensed under MIT license. View license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].