这是项目中遇到的问题: 在scrollview里面显示imageview (一张超大图片),
scrollview的上下会显示空白(或者说,显示多余的空白,你需要向下拖动一会儿才能看到imageView的内容),这个问题,仅出现在density为120(resolution: 320X240, 400X240,432X240),160( resolution: 480X320)的机器上,而240(resolution: 800X480, 854X480)的却能正常显示,上下并没有多余的空白。
好奇怪的问题!!!
这样的问题,同样存在于当你在xml中设置imageView的背景时,
<ScrollView
style="@style/ScrollViewStyle"
android:layout_marginTop="85dp"
android:layout_marginBottom="110dp">
<ImageView
android:id="@+id/detailView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/hayhouse"
/>
</ScrollView>
这样activity在显示的时候,也同样会出现上述留白的问题!
这个问题的解决方法是:
不要在布局文件中设置src,改在程序中设置就没有问题了,detailView.setBackgroundResource(R.drawable.hayhouse);
但是,请注意,用这种方式来设置一张很大的图片(大约500kb)时,会出现另一个令人头疼的问题---OOM ,前面有一篇博客,就是讲的这个问题,解决方法如下:
Bitmap pdfImage = ReadBitmapUtil.readBitMap(this, R.drawable.more_info);
detailView.setImageBitmap(pdfImage);
后来,发现自己对一些东西还是没有理解.....
新的解决方法1,在ImageView配置中加 android:adjustViewBounds="true"就OK了!
<nobr><em>Attribute Name</em></nobr> |
<nobr><em>Related Method</em></nobr> |
<nobr><em>Description</em></nobr> |
android:adjustViewBounds |
setAdjustViewBounds(boolean) |
Set this to true if you want the ImageView to adjust its bounds to preserve the aspect ratio of its drawable. |
或者可以使用方法2: 为三种密度,分别设置图片资源,分别放在drawable-ldpi, drawable-hdpi,drawable-mdpi文件夹下,这样就可以了!
注: BitmapFactory.decodeStream(is,null,opt);方法是直接读取字节码,它并不会根据机器的各种分辨率来自动适应。
120像素/英寸 ( ldpi) 《===》 47.24 像素/厘米
160像素/英寸 ( ldpi) 《===》 62.99像素/厘米
240像素/英寸 (hdpi) 《===》 94.49像素/厘米
分享到:
相关推荐
安卓自定义控件左右滑动动态添加ImageView控件 ScrollView
ScrollView 嵌套ScrollView 事件分发问题
(代码中没有提供截取ScrollView的方法,只提供了一张长图)主要是通过在imageView外包裹一层ScrollView,通过点击按钮切换判断手势,是传给ScrollView还是ImageView,并且添加了切换画笔颜色、清屏、画笔粗细的功能
该程序演示如何显示超大图片,支持拖拽,多点触控缩放,并图片宽度自适应至屏幕度。同时解决了用scrollview显示图片时,屏幕顶部和底部留有空白的缺陷。
3、在LinearLayout控件中放入多个装有图片的ImageView控件 三、代码实例 1、效果图 2、代码 /Ex27ScrollView/src/fry/Activity01.java <?xml version=1.0 encoding=utf-8?> <ScrollView xmlns:android=...
主要实现思路是:根据图片总数及宽高设置好ScrollView的大小,每切换一张图片相当于在ScrollView上进行一个图片宽度的移动行为,并加入定时器,实现自动轮播。 如图所示,设置好ScrollView及PageControl,ScrollView...
解决办法是,我们换一个思路实现图片轮播效果,ScrollView上只放三个ImageView,屏幕始终显示中间的ImageView,左边和右边的ImageView分别代表前一张图片和后一张图片,屏幕移动的时候,中间的ImageView变化,同时...
在滚动的android ImageView上创建视差和任何其他转换效果
自定义ImageView实现阻尼现象
自定义ScrollView 支持添加头部并且对头部ImageView支持放大缩小,上滑头部缩小,下滑头部显示放大
插入图片ScrollViewsPortraitLandscape 插入 ImageView、ScrollView。 纵向和横向视图 创建者:Pablo Bascuñana Saiz。
用ios框架写的一个图片浏览器 定时器实现图片自动浏览 scrollview实现图片滚动 可以放大图片 选择小图 大的imageview自动显示 代码比较乱 实在没分了 上传一个 等下次整理好了版本和说明 再重新更新版本
原理使用scrollview里的三个imageview分别去加载不同的图片,用少量的资源来显示大量或不确定的广告数量,不然如果用普通方法实现广告,难道10个广告用12个scrollview的contentsize去做,岂不是太浪费资源了 ...
ScrollParallaxImageView extends ImageView, and provides parallax effects when it scrolls in the screen.It can be use in any view which can scroll its content, like ListView, RecyclerView, ScrollView, ...
应用程序使用 ImageView 组件展示图片,使用 TextView 组件显示文字部分。为了使文字可以上下滚动,需要用到ScrollView组件。
在scrollview创建左中右三个imageview来实现无限轮询图片
首先我们在项目中导入这个框架: ...按下按钮之后就会在“显示结果”下面显示结果,显示结果下面使用了一个ScrollView,并在ScrollView下面嵌套了一个Textview和Imageview,用于把我们加载成功之后的图片和
ConsecutiveScrollerLayout是Android下支持多个滑动布局(RecyclerView,WebView,ScrollView等)和lView等)和普通控件(TextView,ImageView,LinearLayou,自定义视图等)连续连贯滑动的容器,它使所有的子视图像...
例如我们有一个scrollView,在ScrollView里面有上述的一些控件的自定义属性,实现在滑动Scrollview时,里面的控件根据滑动的距离执行各自的动画进度。scrollivew里包含的这些控件可以是任意常用的控件,如 ImageView...
概要:封装轮播图,混合加载网络图片和本地图片,实现UIImageView、UILabel的复用,使用内存缓存,磁盘缓存、多线程和runloop解决UI卡顿,定时器等问题。暂时未发现有任何bug,如果您遇到bug希望你能Issues我。 ...