Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 像动画一样的图像_Android_Instagram - Fatal编程技术网

Android 像动画一样的图像

Android 像动画一样的图像,android,instagram,Android,Instagram,我如何设置双击以喜欢android中的图像(如instagram照片) 我这里有以下代码: final ImageView photo_show = (ImageView) findViewById(R.id.imgv_photo);// this is main image final ImageView imgv_like_photo = (ImageView) findViewById(R.id.imgv__like_photo);// this is heart imag

我如何设置双击以喜欢android中的图像(如instagram照片)

我这里有以下代码:

    final ImageView photo_show = (ImageView) findViewById(R.id.imgv_photo);// this is main image
    final ImageView imgv_like_photo = (ImageView) findViewById(R.id.imgv__like_photo);// this is heart image
    imgv_musics_activity_like_photo.setVisibility(View.GONE);

    photo_show.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            photo_show.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    like(imgv_musics_activity_like_photo);
                }
            });
        }
    });

public void like(View view) {
    TranslateAnimation animate = new TranslateAnimation(0, view.getWidth(), 0, 0);
    animate.setDuration(500);
    animate.setFillAfter(true);
    view.startAnimation(animate);
    view.setVisibility(View.VISIBLE);
}
和xml:

            <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center">

            <ImageView
                android:id="@+id/imgv_photo"
                android:layout_width="250dp"
                android:layout_height="250dp"
                android:layout_centerHorizontal="true"
                android:contentDescription="@string/image_photo"
                tools:src="@drawable/no_photo" />


            <ImageView
                android:id="@+id/imgv_like_photo"
                android:layout_width="250dp"
                android:layout_height="250dp"
                android:layout_centerHorizontal="true"
                android:contentDescription="@string/image_photo"
                android:src="@drawable/ic_like" />


        </RelativeLayout>

此代码在双击时仅在图像上显示心脏。例如,我想在2秒后隐藏。
你们能给我一个方法吗???

要检测双击,你们应该使用
手势检测器。看,这和你的案子很相似


关于隐藏,可以添加第二个动画,开始延迟为2秒。

声明全局变量:

boolean isDoubleTap = false;
Handler mHandler = new Handler(Looper.getMainLooper());
onClick
中,您可以创建一个可运行的,如:

@Override
public void onClick(View v) {
    photo_show.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Runnable doubleTapRunnable = new Runnable() {
                @Override
                public void run() {
                    isDoubleTap = false;
                }
            };
            if (isDoubleTap) {
                //your logic for double click action
                like(imgv_musics_activity_like_photo);
                isDoubleTap = false;
            } else {
                isDoubleTap=true;
                mHandler.postDelayed(doubleTapRunnable, 500); // you can adjust delay in oder to check double tap
            }
        }
    });
}

注意:您也可以使用。

此链接可能会帮助您设置“like_show”(imgv_musics_活动\u like_photo)之间的延迟;喜欢隐藏(imgv音乐活动喜欢照片);根据上面答案中的注释,Use.handler=newhandler(Looper.getMainLooper()),我认为您也希望在x时间之后隐藏。为此,您必须创建一个新的runnable,并在
x
隐藏时间后运行它。在
like
method中创建这个,只需在
boolean isDoubleTap=false下面写上面的语句,即
Handler=newhandler(Looper.getMainLooper())
编辑了我的答案,我希望这能解决你的问题。