【问题标题】:android animation when gridview's item is clicked单击gridview的项目时的android动画
【发布时间】:2014-09-15 12:00:09
【问题描述】:

我使用适配器和 gridView 实现了音乐专辑列表。当它的项目我的意思是点击播放按钮时,我将“动画 Img”动画到屏幕底部。问题是“动画img”正在向后移动gridview项目而不是视图顶部。我想像kugou音乐播放器here那样实现这个动画。

这是我的代码: 网格视图列表.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:orientation="vertical">
<ImageView
        android:id="@+id/animImg"
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:src="@drawable/anim"
        android:scaleType="fitCenter"
        android:adjustViewBounds="true"/>
<GridView
        android:id="@+id/gridView"
        android:numColumns="2"
        android:gravity="center"
        android:horizontalSpacing="7dp"
        android:verticalSpacing="7dp"
        android:stretchMode="columnWidth"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
</GridView>

Gridview 项目视图.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:orientation="vertical"
          android:background="@android:color/white"
          android:weightSum="11">

<FrameLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="10">
    <ImageView
            android:id="@+id/albumImg"
            android:layout_width="match_parent"
            android:layout_height="120dp"
            android:src="@drawable/album"
            android:scaleType="fitXY"
            android:adjustViewBounds="true"/>
    <ImageView
            android:id="@+id/albumPlayBtn"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:layout_gravity="top|right"
            android:src="@drawable/play_button"
            android:scaleType="fitCenter"
            android:adjustViewBounds="true"/>
</FrameLayout>

<TextView
        android:id="@+id/albumName"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="0.5"
        android:gravity="center"
        android:textSize="24sp"
        android:textColor="@android:color/black"
        android:layout_gravity="center"
        android:text="Album name"/>
<TextView
        android:id="@+id/artistName"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="0.5"
        android:gravity="center"
        android:textSize="16sp"
        android:textColor="@android:color/darker_gray"
        android:layout_gravity="center"
        android:text="Artist name"/>

还有我的 doAnimation 方法:

public void doAnimation(int[] originalPos) {
    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(animImg.getWidth(), animImg.getHeight());
    animImg.setLayoutParams(lp);
    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    int width = size.x;
    int height = size.y;

    TranslateAnimation anim = new TranslateAnimation(originalPos[0], originalPos[0],
            originalPos[1], height);
    anim.setDuration(3000);
    animImg.startAnimation(anim);
    anim.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {
        }

        @Override
        public void onAnimationEnd(Animation animation) {

        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }
    });
}

提前致谢!

【问题讨论】:

  • 有没有人有想法/

标签: android animation gridview adapter translate-animation


【解决方案1】:

我已经通过在animImg.startAnimation(anim); 方法之后添加animImg.bringToFront(); 自己解决了这个问题。

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    相关资源
    最近更新 更多