У меня есть один ImageView (перетаскивание) и одна кнопка, которая увядает с изображением. перетаскивание работает отлично, а кнопка fade изначально работает нормально. Проблема возникает, когда изображение перетаскивается, и нажата кнопка THEN.Как убрать изображение ImageView после перетаскивания?
кажется, что он только угасает исходное место изображения (до перетаскивания). Я хотел бы потушить фактическое изображение после его перетаскивания. Вот картина объяснения: enter image description here
мой main_activity.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="app.com.example.muhammad.downloadmanagerexample.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:id="@+id/Hello"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/images"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fade"
android:id="@+id/buttonFade"
android:layout_below="@+id/imageView"
android:layout_centerHorizontal="true"
android:layout_marginTop="77dp" />
</RelativeLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity implements View.OnTouchListener {
ImageView image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image = (ImageView) findViewById(R.id.imageView);
//downloadFile(path);
image.setOnTouchListener(this);
Button fadeButton = (Button) findViewById(R.id.buttonFade);
fadeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlphaAnimation animation = new AlphaAnimation(1.0f, 0.0f);
animation.setDuration(1000);
animation.setRepeatCount(1);
animation.setRepeatMode(Animation.REVERSE);
image.startAnimation(animation);
//appIcon.animate().alpha(0.0f).setDuration(1000);
//appIcon.animate().alpha(1.0f).setDuration(1000);
}
});
}
PointF DownPT = new PointF(); // Record Mouse Position When Pressed Down
PointF StartPT = new PointF(); // Record Start Position of 'img'
@Override
public boolean onTouch(View v, MotionEvent event) {
int eid = event.getAction();
switch (eid)
{
case MotionEvent.ACTION_MOVE :
PointF mv = new PointF(event.getX() - DownPT.x, event.getY() - DownPT.y);
image.setX((int)(StartPT.x+mv.x));
image.setY((int)(StartPT.y+mv.y));
StartPT = new PointF(image.getX(), image.getY());
break;
case MotionEvent.ACTION_DOWN :
DownPT.x = event.getX();
DownPT.y = event.getY();
StartPT = new PointF(image.getX(), image.getY());
break;
case MotionEvent.ACTION_UP :
// Nothing have to do
break;
default :
break;
}
return true;
}
}
Я искал эту тему и не смогли найти решение excat так думали о спросе. Заранее спасибо. действительно оцените этот сайт и всех людей, которые ему способствуют :)
вы фактически создаете новое изображение каждый раз. Вы не имеете дело с одним изображением только. У вас нет одинаковых экземпляр изображения. Когда вы исчезаете, вы удаляете изображение. И когда вы бросаете изображение после перетаскивания, тогда вы воссоздаете изображение. Если вы найдете мой ответ подходящим, то переверните меня. Спасибо –
Извините, чувак, у меня нет возможности перевернуть ... я думаю моей репутации пока нет. Ваш ответ помогает мне лучше понять проблему ... теперь, каково решение lol –
@sakshamagarwal, если вы хотите, чтобы это было отменено/уменьшено, опубликуйте его как ответ вместо комментария. – Shark