2016-08-01 2 views
-1

У меня есть один 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 так думали о спросе. Заранее спасибо. действительно оцените этот сайт и всех людей, которые ему способствуют :)

+0

вы фактически создаете новое изображение каждый раз. Вы не имеете дело с одним изображением только. У вас нет одинаковых экземпляр изображения. Когда вы исчезаете, вы удаляете изображение. И когда вы бросаете изображение после перетаскивания, тогда вы воссоздаете изображение. Если вы найдете мой ответ подходящим, то переверните меня. Спасибо –

+0

Извините, чувак, у меня нет возможности перевернуть ... я думаю моей репутации пока нет. Ваш ответ помогает мне лучше понять проблему ... теперь, каково решение lol –

+0

@sakshamagarwal, если вы хотите, чтобы это было отменено/уменьшено, опубликуйте его как ответ вместо комментария. – Shark

ответ

0

вы фактически создаете новое изображение каждый раз. Вы не имеете дело только с одним изображением. У вас нет такого экземпляра изображения. Когда вы исчезаете, вы удаляете изображение. И когда вы отбрасываете изображение после перетаскивания, тогда вы воссоздаете изображение. Если вы найдете мой ответ подходящим, то поддержите меня. Спасибо

Смежные вопросы