1

私は以下のPNGがあります。各アイコンは100X100ピクセルである enter image description herePNGで別の位置を表示するようにImageViewを設定するにはどうすればよいですか? (Androidのスプライトアニメーションを問わず)

を。すべてで800x100ピクセル。

   <ImageView 
       android:id="@+id/CycleStageImage" 
       android:layout_width="100dp" 
       android:layout_height="100dp"> 

私は前後に1秒のタイマー間隔で別のアイコン(100,100)を表示するCycleStageImageを設定したいと思います:

は、私は次のImageViewのXMLを持っています。

このPNGのAxis上を移動するコードを生成する際に問題が発生します。 私はSOFを介して複数のリンクから以下のことを試してみましたが、運と:それははるかに高く評価されるだろう .. https://developer.android.com/guide/topics/resources/drawable-resource.html#Clip

が、運を持つ:

  //first try - not working 
     //Resources res = mainActivity.ApplicationContext.Resources; 
     //Bitmap bitmap = BitmapFactory.DecodeResource(res, Resource.Id.CycleImage); 
     //BitmapDrawable bitmapDrawable = new BitmapDrawable(Resources.System, bitmap); 
     //ClipDrawable clipDrawable = new ClipDrawable(bitmapDrawable, GravityFlags.Center, ClipDrawable.Horizontal); 
     //clipDrawable.SetBounds(100, 100, 100, 100); 
     //clipDrawable.SetLevel(100); 
     //imageView.SetImageResource(Android.Resource.Color.Transparent); 
     //imageView.SetImageDrawable(clipDrawable); 


     //second try - shows only part of the left top corner 
     //double TUNNING = 0.5; //0.5 cut in half 
     //Bitmap srcBmp = BitmapFactory.DecodeResource(Resources.System, cycleStage); 
     //Bitmap modBmp = Bitmap.CreateBitmap(
     // srcBmp, 
     // 0, 
     // srcBmp.Height, // TUNNING 
     // srcBmp.Height, 
     // srcBmp.Height 
     // ); 

     //third try - same as the second try.   
     //int START_X = 0; 
     //int START_Y = 100; 
     //int WIDTH_PX = 100; 
     //int HEIGHT_PX = 100; 
     //// Crop bitmap 
     //Bitmap newBitmap = Bitmap.CreateBitmap(SOURCE_BITMAP, START_X, START_Y, WIDTH_PX, HEIGHT_PX, null, false); 

     //// Assign new bitmap to ImageView 
     //imageView.SetImageBitmap(newBitmap); 

私はAndroidのチュートリアルに従っていますタイマーのほかにもPNGで助けてください。

ありがとうございます!

+0

複数の画像を1つのファイルにまとめるのではなく、 –

答えて

1

は最後に、私は、以下の手順に従って、それが動作するようになった: (私はその少しラメ認めるが...)

  1. 私は、オンラインツールを使用して、8(100×100)PNGをそれぞれに上記のPNGを分割しました - >私は、オンラインツールを使用してGIFを作成し
  2. PNG Splitter - GIFメーカー - >私は「資産」の下に保存されたGIFを配置しているhttp://gifmaker.me/
  3. に「AndroidAsset」アクションを構築>フォルダとそのプロパティ - を変更
  4. WebViewを作成してXML画面に配置しました。それは次のようになります。

    WebView myWebView = (WebView)findViewById(Resource.Id.MyWebView); 
    myWebView.loadUrl("file:///android_asset/Gif.gif"); 
    

それは魔法のように動作:次のように私の活動に

  <WebView 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/MyWebView" 
      android:layout_width="100dp" 
      android:layout_height="100dp"/> 
  • は、私は、コードを生成しました!

    GIFのAndroidアプリケーションを実行したいと思っている人は誰でも助けてくれることを願っています。

    Good Luck。

  • 関連する問題