私は以下のPNGがあります。各アイコンは100X100ピクセルである PNGで別の位置を表示するように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で助けてください。
ありがとうございます!
複数の画像を1つのファイルにまとめるのではなく、 –