安卓在java代码中怎么添加imageView图片

安卓在java代码中怎么添加imageView图片,第1张

1、创建imageview对象

2、设置imageview的图片

3、添加到布局

示例代码

ViewGroup group = (ViewGroup) findViewById(R.id.viewGroup) //获取原来的布局容器

ImageView imageView = new ImageView(this)  //创建imageview

imageView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT))  //image的布局方式

imageView.setImageResource(R.drawable.ic_launcher)  //设置imageview呈现的图片

group.addView(imageView)  //添加到布局容器中,显示图片。

首先,先创建一个简单地工程。如图。这里我们选择“SingleViewApplication”工程。名字就叫“ZYScreenTest”。位置选择桌面就可以了。我们在Main.storyboard中把“UseAutoLayout”和“UseSizeClasses”选项勾掉,默认的是勾选上的。在把我们的ViewController尺寸调节成5s的尺寸或者4的尺寸都行,看个人习惯是在5s上做布局还是4上做布局。笔者这里就以5的屏幕给大家介绍。选中当前ViewController,中间的选项,进行XIB尺寸调整,这里可以根据习惯选择是3.5寸还是4寸等。之后我们拖拽一个imageView,放在(110,50)的位置,尺寸设置为(100,100)。如图。再拖拽一个imageView,尺寸一样,位置放置在(110,240)的位置作对比。如图。目的是随着屏幕变化,对应控件坐标宽高发生相应可控的变化,以达到屏幕适配的目的。修改两个ImageView背景颜色作为区分,修改两个ImageView的Autoresizing相同,都已第二个拖拽的imageView为准,选择居上,居右位置不变的约束。之后,我们给下面的imageView再AutoSizing添加如图约束。去掉上下左右约束,保留内部宽高约束。。好,用5模拟器运行。运行效果如图。会发现没有什么变化,因为我们毕竟是用5的屏幕布局的,所以在5上运行效果和我们布局的界面差不多的。接下来再用iPhone6plus模拟器运行,我们会发现上面的ImageView的autoSizing只添加向上向下约束坐标和宽高都没变,下边的ImageView坐标和宽高都相应的变化了,基本和我们刚才在iPhone5模拟器上运行的基本比例一样。但是两个控件之间的布局已经和在StoryBoard上的布局不一样了。给第一个ImageView添加同样约束,再在6plus模拟器上运行,如图,会发现其布局和在StoryBoard上布局一致。也就是说在AutoSizing只添加宽高约束的控件,会按照屏幕比例放大。iPhone6以上使用的是三倍图,好我们准备三张不同的图片,分别是原图,二倍图,三倍图。这里笔者就随便找三张图了,分别命名为“test.png”(100p*100px),"test@2x.png"(200*200px),“test@3x.png”(300*300px),用来判断分辨率,iPhone6plus和iPhone6默认使用的是@3x图片,iPhone5和5s以及4s使用的是@2x图片。这里是用来验证我们的适配。在“Images.xcassets”里面创建一个“NewImageSet”,重命名为“test”,把刚才的三张图片拖进去。然后对我们刚才拖拽的imageView设置图片。设置图片,直接在“image”属性里面写我们刚才对ImageSet命的名字“test”。再用iPhone5模拟器运行,运行效果如图。看到5模拟器上运行加载的图片都是@2x图片,也就是二倍图。两个imageView都加载了,说明,在AutoSizing中只勾选宽高约束,不影响iPhone5界面布局。用iPhone6plus模拟器运行。,说明约束也是不影响加载三倍图的。


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

原文地址: http://outofmemory.cn/bake/11700679.html

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

发表评论

登录后才能评论

评论列表(0条)

保存