android,程序中如何改变ImageView大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android,程序中如何改变ImageView大小相关的知识,希望对你有一定的参考价值。

1、 在布局文件中定义imageview,但不为其设置资源。
<LinearLayout
android:orientation="vertical"
android:layout_below="@id/title_bar"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<ImageView
android:id="@+id/topImageview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
2、在activity的初始化代码中,初始化imageview 并设定大小:
public void initTopImageView(View view)
ImageView imageTopview = (ImageView)view.findViewById(R.id.topImageview);

WindowManager windowManager = mParent.getWindowManager();
Display display = windowManager.getDefaultDisplay();

int imageWidth = display.getWidth();
int imageHeight = 0;

BitmapFactory.Options option = new BitmapFactory.Options();
option.inJustDecodeBounds = true;

Bitmap myMap = BitmapFactory.decodeStream(getResources().openRawResource(R.raw.landing_hot_product_1));

imageHeight = (imageWidth*myMap.getHeight())/myMap.getWidth();
imageTopview.setScaleType(ImageView.ScaleType.FIT_XY);
imageTopview.setLayoutParams(new LinearLayout.LayoutParams(imageWidth,imageHeight));
imageTopview.setImageResource(R.raw.landing_hot_product_1);

myMap.recycle();

在给imageview设置图片资源之前,根据比例关系动态计算图片的宽和高,并设置给imageview.
参考技术A 在layout.xml文件中定义了ImageView的绝对大小后,无法动态修改以后的大小显示,其实Android平台在设计UI控件时考虑到这个问题,为了适应不同的Drawable可以通过在xml的相关ImageView中加入android:scaleType="fitXY" 这行即可,但因为使用了缩放可能会造成当前UI有所变形。 参考技术B 图片视图大小改不了

Android imageview src正在改变

我想制作改变图像的ImageView。 ImageView正在运行男人,我想让他的跑步?

  • 如何使用代码更改ImageView src,但性能最佳...
  • 我可以在布局上使用GiF动画吗?
答案

帧动画 - 如果您只有很少的图像,这是最简单的。

http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html

另一答案

不断?第二次1000次? gif在布局上不起作用...你可以动画一个动画,或一个线程(慢)

Animate multiple imageviews dependently

快速动画指南http://www.javacodegeeks.com/2011/01/android-animations-quick-guide.html

另一答案

试试这个https://github.com/DanielMartinus/Konfetti

要么

使用implementation pl.droidsonroids.gif:android-gif-drawable:1.2.4在项目中使用GIF。

<pl.droidsonroids.gif.GifImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@drawable/mygif"/>

以上是关于android,程序中如何改变ImageView大小的主要内容,如果未能解决你的问题,请参考以下文章

android中imageview里的图片大小是不是可以比imageview本身大,如果可以,如何设置?

android中如何间隔控件

Android imageview src正在改变

Android自己定义圆形ImageView(圆形头像 可指定大小)

在水平的RecyclerView中显示ImageView会在Android中的图像周围放置大的边距(?)

如何改变imageview的alpha值