① android中如何动态修改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)imageview设置网络图片大小扩展阅读:
根据位深度,可将位图分为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组合数据位表示的的位图称为真彩色位图。
② ImageView 图片的使用
ImageView是用于界面上显示图片的控件
属性
1、为ImageView设置图片
①android:src="@drawable/img1";
src设置图片,默认图片等比例放缩闹粗,以最适应的大小显示。
②android:background="@drawable/img1"
background是组件通用属性,不仅可以设置组件的背景颜色,也可以用图片做背景
【提示】①以图片做背景,那么图片将适应组件的大小。
②但如果控件是宽高为wrap_content,则和src的效果相同。
③如果src和background属性同时设置,src设置的图片将在上方,background设置的图片将在上方。src图片不一定完全遮盖下面的图片,根据src的放缩模式而定。
④资源文件名称由小写字母、数字、下划线组成。(注意:不能用大写字母)
2、放缩属性ScaleType
android:scaleType="fitXY"
【提示】ScaleType属性要结合src属性一起使用,对background设置的图片没有效果
①fixCenter:这是图片默认的属性值档弯态,表示会填充控件,不会让图片变形。
②fixXY:表示图片填充控件,允许图片拉伸,会根据ImageView的大小而适配。和background的效果相同。
③centerCrop:以填满整个ImageView为目的,将ImageView的中心对准ImageView的中心,等比例放大原图,直到填满ImageView为止(ImageView的宽高都要填满),原图超出部分做裁剪处理。
④center:保持原图大小,显示在ImageView的中心。当原图大小小于ImageView大小时,旁边部分将空白,如左图。反之,原图将将做裁剪处理,如右图(这里将ImageView的大小修改成比原图小的值)
⑤matrix:不改变原图的大小,从ImageView的左上角开始绘制原图。原图超过部分将作裁剪。
【提示行源】用Matrix对ImageView作放大和缩小的效果是,ImageView的ScaleType必须设置为matrix
⑥fitEnd:把原图按比例放缩到ImageView的宽度,显示在下方的位置。左图
⑦fitStart:把原图按比例放缩到ImageView的宽度,显示在上方的位置。右图
⑧centerInside:以原图完全显示为目的,将图片的内容完整居中显示,通过按比例缩小的原图宽高等于或者小于ImageView的宽高。如果原图小于ImageView的宽高,则原图不做处理,居中显示在ImageView上(如左图)。反之,和fixCenter效果相同。以短的一边为基准等比例放缩图片,完整的显示在ImageView的中间(如右图)。
3、调整边界来适应图片
android:adjustViewBounds="true/false"
表示是否可以通过调整边界来适应图片(与maxWidth或者maxHeight配合使用)。一般此属性和maxHeight和maxWidth属性一起使用。最大宽度和高度。
【提示】①如果设置的layout_width与layout_height都是定值,则设置adjustViewBounds是没有效果的,ImageView将为设定的定值的宽高。
③ ImageView设置图片高宽
ImageView设置宽高和答烂其它的控件一渗亩样的啊
布局文件中
android:layout_width="wrap_content"
android:layout_height="wrap_content"
设置图片要使用 android:src=""
其中ImageView有一个属性非常重要,
android:scaleType=""
这个是设置图片放大缩小的方式变清喊漏形不变形什么的
④ iOS 网络图片自适应imageView的大小
[self.titleImg setContentScaleFactor:[[UIScreen mainScreen] scale]];
self.titleImg.contentMode= ;
self.titleImg.clipsToBounds =YES;
愤怒的牛牛的橡如
愤怒的牛牛的梁梁启新浪博渣袭客
愤怒的牛牛的GitHub
⑤ Android开发,在java代码中将ImageView添加到Tablerow中,设置ImageView图片的大小,可是设置完图片不显示
楼主可以这样设置啊
row.addView(img,new LayoutParams(width, height));
不知乱备道哗档毁是蠢扮否可行
⑥ 构造ImageView 及设置图片大小
var imageView = ImageView(context)
imageView.setImageDrawable(resources.getDrawable(R.drawable.msg, context?.getTheme()))
imageView.setLayoutParams(ViewGroup.LayoutParams(80,80))
⑦ UIImageView怎么自适应网络图片高和宽
1. 在编写网页时,如果图片大小饥旁羡事先是未知的,如果图片过大的话,会影响的网页中其他块的结构
使用css可以将图片的大小调整到一个固定的值
<span style="font-size: 16px;">#mian img{
max-width:170px;
width:170px;
width:expression(document.body.clientWidth>170?"170px":"auto");
max-height:180px;
height:180px;
height:expression(document.body.clientWidth>180?"180px":"auto");
overflow:hidden;
}
</span>
2.html代码中
如果图片的大小是事先未知的,这样设置可以使,图像的大烂拍小固定,从启返而不影响网页中其他块的结构
<span style="font-size: 16px;"><div id = "maim">
<!--
在mian样式的块中img标签图片的大小会被固定在170px*180px
-->
<img src="01.jpg">
</div>
</span>
⑧ 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_proct_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_proct_1);
myMap.recycle();
}
在凳薯给imageview设置图片资源之前,根据比例关系动态计算图片的宽和高,并设置给imageview.
⑨ listview中的imageview如何实现点击小图片显示大图片
1、你的图片是网络图片还是本地图片碧尺,是网络图片的话可能要使用异步加载;2、我想悔拍高到两种办法实现贺好上面这种效果: a、popupWindow,在你上面所说的绑定的view中,添加一个ImageView组件用于显示大图片,通过LayoutInflater.inflater()得到这个绑定的view,然后再view.findViewById()找到这个ImageView赋值即可; b、跳转到一个新的Activity里显示图片,新的Activity的背景可以做成半透明的;