当前位置: 首页 > 知识库问答 >
问题:

Android:框架动画扩展到查看大小

祝灼光
2023-03-14

我试图使帧动画保持在图像视图的中心,在下载图像之前,动画正在其中播放。基本上,这是一个加载微调器的动画。这是我在xml文件中的imageview。

<TableRow
          android:gravity="center"  >

            <ImageView
                android:id="@+id/imageViewUrl1"
                android:layout_width="0dp"
                android:layout_height="94dp"
                android:layout_gravity="center"
                android:layout_weight="0.5"
                android:adjustViewBounds="true"
                android:gravity="center"
                android:onClick="OnClickThumbnail"
                android:paddingTop="10dp"
                android:scaleType="fitCenter"
                android:textColor="@android:color/white" 
                android:src="@drawable/frameblack" />

这是我的框架xml文件

<?xml version="1.0" encoding="utf-8"?>  
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"  
    android:oneshot="false" >  
        <item android:drawable="@drawable/framezero" android:duration="60" /> 
        <item android:drawable="@drawable/frameone" android:duration="60"  />  
        <item android:drawable="@drawable/frametwo" android:duration="60" />  
        <item android:drawable="@drawable/framethree" android:duration="60" /> 
    <item android:drawable="@drawable/framefour" android:duration="60" /> 
    <item android:drawable="@drawable/framefive" android:duration="60" /> 
    <item android:drawable="@drawable/framesix" android:duration="60" /> 
    <item android:drawable="@drawable/frameseven" android:duration="60" /> 
    <item android:drawable="@drawable/frameeight" android:duration="60" /> 
    <item android:drawable="@drawable/framenine" android:duration="60" /> 
    <item android:drawable="@drawable/frameten" android:duration="60"  /> 

</animation-list>

这是我用来启动动画的代码

final ImageView imageView = (ImageView) findViewById(R.id.imageViewUrl1);   
        AnimationDrawable yourAnimation;   

        imageView.setBackgroundResource(R.drawable.loadinganim);   
        yourAnimation = (AnimationDrawable) imageView.getBackground();
                yourAnimation.start();

问题是动画拉伸了Imageview的整个宽度和高度。Imageview设置为fitCenter。我如何避免这种拉伸?

共有1个答案

慕铭
2023-03-14

我也有同样的问题,问题是因为动画使用背景

解决方案是:

>

  • 在drawble文件夹中创建xml位图,其中包含用于动画列表的图片,并将重心设置为中心

    <?xml version="1.0" encoding="utf-8"?>
    <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
      android:gravity="fill|center"
      android:src="@drawable/btn_wifi_anim_3" >
    
    </bitmap>
    

    设置运行时动画布局的宽度,如高度。

    wifiAnim.setLayoutParams(new LinearLayout.LayoutParams(wifiAnim.getHeight(),  wifiAnim.getHeight()));
    

  •  类似资料:
    • 所以我一直在使用tkinter中的画布小部件来创建一个充满标签的框架,它有一个滚动条。除了框架只扩展到其中放置的标签的大小之外,一切都很好——我希望框架扩展到父画布的大小。 如果我对画布中的框架使用pack(expand=True)(我在下面的代码中已经注释掉了它),那么很容易做到这一点,但是滚动条不起作用。 以下是适当的代码位: 我还提供了一个带有彩色边框的图像,这样你可以看到我的意思。粉红色区

    • 第十三章介绍了如何开发一个Web框架,通过介绍MVC、路由、日志处理、配置处理完成了一个基本的框架系统,但是一个好的框架需要一些方便的辅助工具来快速的开发Web,那么我们这一章将就如何提供一些快速开发Web的工具进行介绍,第一小节介绍如何处理静态文件,如何利用现有的twitter开源的bootstrap进行快速的开发美观的站点,第二小节介绍如何利用前面介绍的session来进行用户登录处理,第三小

    • 本文向大家介绍Thinkphp 框架扩展之驱动扩展实例分析,包括了Thinkphp 框架扩展之驱动扩展实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Thinkphp 框架扩展之驱动扩展。分享给大家供大家参考,具体如下: 每个类库都可以设计自己的驱动,因此3.2版本的驱动目录没有独立出来,而是放到各个类库的命名空间下面,例如:Think\Log类的驱动放到 Think\Log\Dr

    • 我正在尝试使回收器视图中的cardview展开。我让扩展部分正常工作,但是当向其添加过渡时,开始出现一些视觉错误。当没有屏幕外项目时,过渡工作正常,但是当我向回收器视图添加超过(在我的情况下)4个项目时,它开始发生。 带4件物品的GIF 包含 4 个以上项目的 GIF 当我禁用过渡动画时,卡视图扩展可以很好地处理超过4个项目。我认为问题与职位变化有关,但我找不到解决问题的任何解决方案。 我用来实现

    • Swoole扩展 到GitHub首页下载Swoole扩展源码,地址:https://github.com/swoole/swoole-src 下载后按照标准的PHP扩展编译方式进行编译和安装。一般是 phpize ./configure make install 编译安装完后,修改php.ini加入extension=swoole.so开启swoole扩展。也可以通过dl('swoole.so'

    • CodeIgniter 的钩子特性提供了一种方法来修改框架的内部运作流程,而无需修改 核心文件。CodeIgniter 的运行遵循着一个特定的流程,你可以参考这个页面的 应用程序流程图 。但是,有些时候你可能希望在 执行流程中的某些阶段添加一些动作,例如在控制器加载之前或之后执行一段脚本, 或者在其他的某些位置触发你的脚本。 启用钩子 钩子特性可以在 application/config/conf