当前位置:首页 » 背景图片 » android背景图片过大
扩展阅读
什么树冠最大图片 2025-01-19 22:09:25
抱猪的图片卡通 2025-01-19 22:00:13

android背景图片过大

发布时间: 2022-07-31 21:34:30

① Android如何处理过大图片的显示

你可以把图片竖直和横向添加滚动条,这样就可以显示发图片

② android怎么设置自适应大小的背景图片

需要给你的ImageView布局加上Android:adjustViewBounds="true"

<ImageView android:id="@+id/test_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:layout_gravity="center"
android:contentDescription="@string/app_name"
android:src="@drawable/ic_launcher" />

然后,在代码里设置ImageView.最大宽度和最大高度,因为adjustViewBounds属性只有在设置了最大高度和最大宽度后才会起作用

int screenWidth = getScreenWidth(this);
ViewGroup.LayoutParams lp = testImage.getLayoutParams();
lp.width = screenWidth;
lp.height = LayoutParams.WRAP_CONTENT;
testImage.setLayoutParams(lp);

testImage.setMaxWidth(screenWidth);
testImage.setMaxHeight(screenWidth * 5); 这里其实可以根据需求而定,我这里测试为最大宽度的5倍

③ android背景图片和分辨率以及屏幕尺寸大小的关系!

wrap_content是包裹住内容,所以你的内容区有多大图片就会显示多大区域,如果你的内容区域没有填充满窗口图片肯定是无法全屏的。

④ android图片太大如何获取图片尺寸然后缩放

用这个方法吧
//加载需要操作的图片,这里是一张图片
bitmap
bitmaporg
=
bitmapfactory.decoderesource(getresources(),r.drawable.r);
//获取这个图片的宽和高
int
width
=
bitmaporg.getwidth();
int
height
=
bitmaporg.getheight();
//定义预转换成的图片的宽度和高度
int
newwidth
=
200;
int
newheight
=
200;
//计算缩放率,新尺寸除原始尺寸
float
scalewidth
=
((float)
newwidth)
/
width;
float
scaleheight
=
((float)
newheight)
/
height;
//
创建操作图片用的matrix对象
matrix
matrix
=
new
matrix();
//
缩放图片动作
matrix.postscale(scalewidth,
scaleheight);

⑤ activity背景图占用内存太大怎么优化

使用图片缓存技术
在你应用程序的UI界面加载一张图片是一件很简单的事情,但是当你需要在界面上加载一大堆图片的时候,情况就变得复杂起来。在很多情况下,(比如使用ListView, GridView 或者 ViewPager 这样的组件),屏幕上显示的图片可以通过滑动屏幕等事件不断地增加,最终导致OOM。
为了保证内存的使用始终维持在一个合理的范围,通常会把被移除屏幕的图片进行回收处理。此时垃圾回收器也会认为你不再持有这些图片的引用,从而对这些图片进行GC操作。用这种思路来解决问题是非常好的,可是为了能让程序快速运行,在界面上迅速地加载图片,你又必须要考虑到某些图片被回收之后,用户又将它重新滑入屏幕这种情况。这时重新去加载一遍刚刚加载过的图片无疑是性能的瓶颈,你需要想办法去避免这个情况的发生。
这个时候,使用内存缓存技术可以很好的解决这个问题,它可以让组件快速地重新加载和处理图片。下面我们就来看一看如何使用内存缓存技术来对图片进行缓存,从而让你的应用程序在加载很多图片的时候可以提高响应速度和流畅性。
内存缓存技术对那些大量占用应用程序宝贵内存的图片提供了快速访问的方法。其中最核心的类是LruCache (此类在android-support-v4的包中提供) 。这个类非常适合用来缓存图片,它的主要算法原理是把最近使用的对象用强引用存储在 LinkedHashMap 中,并且把最近最少使用的对象在缓存值达到预设定值之前从内存中移除。
在过去,我们经常会使用一种非常流行的内存缓存技术的实现,即软引用或弱引用 (SoftReference or WeakReference)。但是现在已经不再推荐使用这种方式了,因为从 Android 2.3 (API Level 9)开始,垃圾回收器会更倾向于回收持有软引用或弱引用的对象,这让软引用和弱引用变得不再可靠。另外,Android 3.0 (API Level 11)中,图片的数据会存储在本地的内存当中,因而无法用一种可预见的方式将其释放,这就有潜在的风险造成应用程序的内存溢出并崩溃。

⑥ android 中,我有一张背景图片是 640*960像素,请问如何布局使得自动适应各种屏幕(HVGA,WVGA...)

640 * 960的是ios的分辨率, 用在android不同密度不同尺寸下会出现各种问题。android手机最适合的是 800 * 480的,这个像素的图基本能满足各个手机,顶多就是高度方面会拉伸,宽度的改变不大。
android 不同的密度下对应的像素是不同的,中密度是 1:1的关系,高密度是1:1.5,低密度是1:0.75。如果你的图片默认是放在drawable里,那这是默认中密度下的,如果手机是高密度,就会把图片拉伸1.5倍再显示,这样图片可能会有失真的情况。
系统的图片处理是在不同的密度下做成不同像素的图片。比如:一张图片 低密度下放入一张 36*36 ,中密度下是 48*48, 高密度下是64*64。
如果你只是背景图片填充屏幕,你只要设置fill_parent就可以实现,但是你里面的内容在不同的密度下就会显示大小都不同, 如果里面的内容不管是什么密度下都要按照那个比例来的话(比如最上面是title,中间是内容,下面是底部懒,你想这个在不同的手机下都以1:9:1的比例显示出来),那就可以设置layout_weight ,最外面Linearlayout 里面的每个布局 的width设置为wrap_content,同时设置weight,这个数值要反过来设置,这样就能保证在任何手机上都是以这个比例显示内容。

⑦ android 设置背景图 大小不协调

android:scaleType控制图片如何resized/moved来匹对ImageView的size
mageView.ScaleType / android:scaleType值的意义区别:
CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
CENTER_CROP / centerCrop 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
CENTER_INSIDE / centerInside 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
FIT_CENTER / fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示
FIT_END / fitEnd 把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置
FIT_START / fitStart 把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置
FIT_XY / fitXY 把图片不按比例扩大/缩小到View的大小显示
MATRIX / matrix 用矩阵来绘制,动态缩小放大图片来显示