Android 像动画一样的图像
我如何设置双击以喜欢android中的图像(如instagram照片) 我这里有以下代码: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
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())
代码>编辑了我的答案,我希望这能解决你的问题。