ImageView悬停显示文本

时间:2016-07-16 06:24:06

标签: android android-studio

我正在使用CardVIew里面有一个ImageView,如果你在触摸/悬停/滚动,它应该显示一些带有文本的动画,我将把它放在图像视图上面的项目描述。比较混淆什么是正确的术语在谷歌搜索。任何帮助将深表赞赏

1 个答案:

答案 0 :(得分:1)

我已经完成了你的要求。我找到了你需要的相同的东西。这是一个链接,您可以通过滚动来获取带有悬停动画的卡片。

<强> https://github.com/daimajia/AndroidViewHover

在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'
}

创建原始视图,并确保它被BlurLayout

包装

例如:

<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>

注意:BlurLayout来自RelativeLayout。您可以使用RelativeLayout规则来布局视图。

创建悬停视图,没有要遵守的规则。请记住,此视图将与您创建的原始视图一样大。

将悬停视图绑定到BlurLayout

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

并且不要忘记您可以在一个行代码中添加各种动画。例如:

//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);