Skip to content

daimajia/AndroidViewHover

Repository files navigation

Android View Hover Build Status

In my opinion, jumping to a new activity to show your menu is a kind of wasting time and life.

So,

I think, we need a hover view, to show menu, to show messages.

Demo

Watch HD in YouTube.

Download Apk

Usage

Step0

Set up RenderScript

  • Eclipse, please visit official tutorial.
  • Android Studio, add
             
             renderscriptTargetApi 19
         	renderscriptSupportMode true
    in build.gradle defaultConfig, here is a sample

Step1

Gradle

dependencies {
	compile "com.android.support:support-v4:20.+"
	compile 'com.nineoldandroids:library:2.4.0'
	compile 'com.daimajia.easing:library:1.0.0@aar'
	compile 'com.daimajia.androidanimations:library:1.1.2@aar'
	compile 'com.daimajia.androidviewhover:library:1.0.4@aar'
}

Maven

	<dependency>
	    <groupId>com.nineoldandroids</groupId>
	    <artifactId>library</artifactId>
	    <version>2.4.0</version>
	</dependency>
	<dependency>
	    <groupId>com.daimajia.androidanimation</groupId>
	    <artifactId>library</artifactId>
	    <version>1.1.2</version>
	    <type>apklib</type>
	</dependency>
	<dependency>
	    <groupId>com.daimajia.easing</groupId>
	    <artifactId>library</artifactId>
	    <version>1.0.0</version>
	    <type>apklib</type>
	</dependency>
	<dependency>
	    <groupId>com.daimajia.androidviewhover</groupId>
	    <artifactId>library</artifactId>
	    <version>1.0.4</version>
	    <type>apklib</type>
	</dependency>

Eclipse

Step2

  1. Create an original view, and make sure it was wrapped by BlurLayout

    for example:

    	<com.daimajia.androidviewhover.BlurLayout
    			android:id="@+id/sample"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">
                <ImageView
                    android:layout_centerInParent="true"
                    android:scaleType="fitXY"
                    android:src="@drawable/kid"
                    android:layout_width="match_parent"/>
    	</com.daimajia.androidviewhover.BlurLayout>

    Note: BlurLayout is entended from RelativeLayout. You can use the RelativeLayout rules to layout your view.

  2. Create a hover view, there is no rules to obey. Just please remember that this view will be stretched as large as the original view you have created.

  3. Bind a hover view to BlurLayout

    	BlurLayout sampleLayout = (BlurLayout)findViewById(R.id.sample);
    	View hover = LayoutInflater.from(mContext).inflate(R.layout.hover, null);
    	sampleLayout.setHoverView(hover);

    and don't forget that you can add various animations just in one line code. For example:

    	//View (R.id.heart) appear animation.
    	sampleLayout.addChildAppearAnimator(hover, R.id.heart, Techniques.FlipInX);
    	//View (R.id.heart) disappear animation.
    	sampleLayout.addChildDisappearAnimator(hover, R.id.heart, Techniques.FlipOutX);

You can view the samples in my preset examples.

Animations

This project provides a lot of animations you can choose. Animations are from my another open-source project AndroidViewAnimations. And you can aslo using easing funcitons to make your animations more real. Please enjoy it.

Thanks

About me

A student in mainland China.

Welcome to offer me an internship. If you have any new idea about this project, feel free to contact me.

About

An elegant way to show your menu or messages.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages