AndroidViewHover

Additional

Language
Java
Version
v1.0.3 (Aug 27, 2014)
Created
Aug 8, 2014
Updated
May 28, 2023
Owner
代码家 (daimajia)
Contributors
代码家 (daimajia)
鲁大师 (donglua)
milosjovac
3
Activity
Badge
Generate
Download
Source code

Android View Hover

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.