2017-06-06 43 views
0

我有一個有動畫的imageview。但是,當圖像移動時,它會落後於其佈局,如您在此圖像中看到的: my imageAndroid:ImageView在佈局下

我希望此圖像視圖位於佈局前面。我嘗試了yourView.bringToFront();,但以這種方式,imageview在其他視圖之前,而不是佈局。

這裏是XML:

  <LinearLayout 
      android:id="@+id/layoutComponentiNemico" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:orientation="vertical"> 

      <RelativeLayout 
       android:id="@+id/layoutContenitoreImmagineNemico" 
       android:layout_width="50dp" 
       android:layout_height="0dp" 
       android:layout_gravity="center" 
       android:layout_weight="5"> 

       <ImageView 
        android:id="@+id/immagineNemico" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:background="@drawable/anziano"/> 
      </RelativeLayout> 

      <ImageView 
       android:id="@+id/immaginePiattaformaNemico" 
       android:layout_width="150dp" 
       android:layout_height="0dp" 
       android:layout_gravity="center" 
       android:layout_weight="1" 
       android:background="@drawable/piattaformaritagliata"/> 

     </LinearLayout> 

所以我的ImageView應該從相對佈局的動畫過程中「走出去」。

動畫:

immagineNemico.clearAnimation(); 
    TranslateAnimation mAnimation = new TranslateAnimation(
      TranslateAnimation.RELATIVE_TO_PARENT, 0f, 
      TranslateAnimation.RELATIVE_TO_PARENT, -0.4f, 
      TranslateAnimation.RELATIVE_TO_PARENT, 0f, 
      TranslateAnimation.RELATIVE_TO_PARENT, 0.1f); 
    mAnimation.setDuration(1000); 
    mAnimation.setRepeatCount(1); 
    mAnimation.setRepeatMode(Animation.REVERSE); 
    mAnimation.setInterpolator(new DecelerateInterpolator()); 
    immagineNemico.setAnimation(mAnimation); 

回答

0

難道說你申請的動畫@id/layoutContenitoreImmagineNemico而不是@id/immaginePiattaformaNemico

請向我們展示您的動畫代碼。

+0

我更新了問題 – Curio

+0

@Curio您無法將動畫直接應用到imageview以實現您想要的效果。 ImageView位於佈局內部,因此當它離開佈局的邊界時,圖像就會消失。嘗試將動畫應用於佈局本身並查看是否可行。 – 2017-06-06 20:18:07

+0

那麼,我必須將動畫應用於imageview和佈局嗎? – Curio