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

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

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.

使用位图(Bitmap)再重新绘制遍

//原位图

Bitmap btm1 = BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.hh)

BitmapDrawable bd1=BitmapDrawable(btm1)

imageView.setBackgroundDrawable(bd1)

放大后 滑动时计算 图片的边是否在屏幕外,如果在屏幕外就可移动,比如 向上滑动,是想看图片下面的部分,此时计算图片的底边是否在屏幕外,如果是,就可以向上移动图片。

Scaletype的设置的方式包括:

1、在layout xml中定义android:scaleType="CENTER"

2、或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER)

扩展资料:

根据位深度,可将位图分为1、4、8、16、24及32位图像等。每个像素使用的信息位数越多,可用的颜色就越多,颜色表现就越逼真,相应的数据量越大。

例如,位深度为 1 的像素位图只有两个可能的值(黑色和白色),所以又称为二值位图。位深度为 8 的图像有 2^8(即 256)个可能的值。位深度为 8 的灰度模式图像有 256 个可能的灰色值。

RGB图像由三个颜色通道组成。8 位/通道的 RGB 图像中的每个通道有 256 个可能的值,这意味着该图像有 1600 万个以上可能的颜色值。

有时将带有 8 位/通道 (bpc) 的 RGB 图像称作 24 位图像(8 位 x 3 通道 = 24 位数据/像素)。通常将使用24位RGB组合数据位表示的的位图称为真彩色位图。

参考资料来源:百度百科-Bitmap


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/10960814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存