每个图标为100X100像素。总而言之800X100像素。
我有以下ImageView xml:
<ImageView
android:id="@+id/CycleStageImage"
android:layout_width="100dp"
android:layout_height="100dp">
我想将 CycleStageImage 设置为在1秒的定时器间隔来回显示不同的Icon(100,100)。
我在生成在此PNG的Axis上移动的代码时遇到问题。 我已经通过SOF上的多个链接尝试了以下内容,但没有运气:
//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教程: https://developer.android.com/guide/topics/resources/drawable-resource.html#Clip
但没有运气.. 非常感谢计时器的帮助以及png。
谢谢!
答案 0 :(得分:1)
最后我按照以下步骤开始工作: (虽然我承认它有点蹩脚......)
我创建了 WebView 并将其放在我的XML屏幕中。它看起来像这样:
<WebView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/MyWebView"
android:layout_width="100dp"
android:layout_height="100dp"/>
在我的活动中,我按如下方式生成了代码:
WebView myWebView = (WebView)findViewById(Resource.Id.MyWebView);
myWebView.loadUrl("file:///android_asset/Gif.gif");
它就像一个魅力!
我希望任何想要在Android应用程序中运行GIF的人都会有助手。
祝你好运。