2016-11-17 1 views

答えて

0
<FrameLayout 
     android:id="@+id/scrim" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@color/dark_translucent" 
     android:visibility="gone"> 

     <ImageView 
      android:id="@+id/imageView" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_margin="24dp"/> 

    </FrameLayout> 
</FrameLayout> 

私はすでにこのいずれかを使用しますが、1ページIでよあなたのbuild.gradle(Module.app)

dependencies { 
    compile 'com.github.bumptech.glide:glide:3.6.1' 
} 
あなたの活動に

Glide.with(this) 
      .load(imageGif) 
      .asGif() 
      .fitCenter() 
      .crossFade() 
      .into(imageView); 
+1

ありがとうございますが、私はすでに答えを見つけました。 – sander

+0

ちょうどいくつかの評判 – sander

+0

@サンダー感謝男:) –

0

このための優れたライブラリがありますあなたはあなたのライブラリをプロジェクトに追加した後、これをしたいと思いますandorid-gif-drawable

と呼ば:

<pl.droidsonroids.gif.GifImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_gravity="center" android:src="@drawable/src_drawable_here" />

は、それが中央を許可レイアウトの内側にあることを確認しますRelativeLayoutなどの親(これは水平方向と垂直方向の中心を意味します)に配置します。

+0

に追加それは複数のレイアウトを使用しているため、いくつかの問題を抱えています。 – sander

+0

私はあなたが 'FrameLayout'を使う必要があることを知りました。 – sander

0

これは、私はそれを行う方法です。

<FrameLayout> <!-- this can also be a CoordinatorLayout --> 

     ... (content) 


     <FrameLayout 
      android:id="@+id/scrim" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="@color/dark_translucent" 
      android:visibility="gone"> 

      <ProgressBar 
       android:id="@+id/progressBar" 
       style="@style/Widget.AppCompat.ProgressBar.Horizontal" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_margin="24dp" 
       android:indeterminate="true"/> 

     </FrameLayout> 
    </FrameLayout> 

これは、ローダと一緒に使用されます。ローダーが起動すると、スクリムの可視性はvisibleに設定されます。ローダーが完了すると、私はscrim visibilityをgoneに戻しました。

カップルの事:ローダーの進行中に、ユーザーがデバイスを回転させた場合、あなたはスクリムを表示することができるように

  • あなたは、保存されたインスタンスの状態にスクリムを表示するかどうかを追跡したりべきではありませんすぐにonCreateに戻ります。

  • タッチ可能なコントロールをカバーする場合、完了するまですべてのコントロールを無効にする必要があります。また、コンテンツコントロールが実質的に無効になるように、タッチイベントを消費するようにスクリムレイアウトのonTouchListenerを設定することもできます。

+0

あなたの反応に感謝します。私はすでにオプションを(申し訳ありません)持っていますが、私はAsyncTaskクラスで可視にしたいので、1つのフォームでいくつかの問題がありますが、私はそれを見ることができません。 – sander

関連する問題