目录(?)[-]

  1. XML片段
  2. 代码设置ImageView

ImageView是基础的控件,它是android.widget.ImageView的继承类。

XML片段

     <LinearLayout android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:orientation="horizontal"> 
       <!--  指定资源id: @drawable/xxxxx  -->
        <ImageView android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:id="@+id/ui_image1" 
            android:src="@drawable/ic_launcher" />

<!-- 显示色块 --> 
        <ImageView android:layout_width="125dip" 
            android:layout_height="25dip" 
            android:id="@+id/ui_image2" 
           android:src="#555555" 
            android:contentDescription="set pure color"/> 
   </LinearLayout> 
   
    <LinearLayout android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:orientation="horizontal">  
       <!-- 这三个图来源于同一个128×128的png图标,前两者指定长、宽时,皆比原图要小,系统采用等比缩小的方式适配指定size -->
        <ImageView android:layout_width="25dip" 
            android:layout_height="25dip" 
            android:src="@drawable/png0441"/> 
        <ImageView android:layout_width="48dip" 
            android:layout_height="48dip" 
            android:src="@drawable/png0441"/> 
        <ImageView android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
             android:src="@drawable/png0441" /> 
    </LinearLayout> 
    <!-- 对下面的图,我们设定图片缩小的方式,fitXY,填满整个size。此外我还是试验了两layout_width和layout_height设置为wrap_content,而另外设置了maxWidth和maxHeight,但是发现maxWidth/Height并不起作用,仍是原图大小呈现,这点和Pro Android 4.0书中所言不同,关于此功能,慎用 --> 
    <ImageView android:layout_width="60dip" 
        android:layout_height="30dip" 
        android:src="@drawable/png0441" 
        android:scaleType="fitXY"  />  
    <!-- 这里我们没有设置android:src,但是给了一个id号,用于等会在代码进行设置 --> 
    <ImageView android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:id="@+id/ui_image3"  />

代码设置ImageView

在XML中ui_image3没有设置具体的src,可以在代码中通过若干中方法设置。

方式1:设置资源的ID

ImageView image = (ImageView)findViewById(R.id.ui_image3); 
image.setImageResource(R.drawable.ic_launcher);

方式2:通过Bitmap

ImageView image = (ImageView)findViewById(R.id.ui_image3);
Bitmap bm = BitmapFactory.decodeResource(this.getResources(), R.drawable.png02); 
//在这里可以加入对Bitmap的处理代码 ... ... 
image.setImageBitmap(bm);

方式3:通过文件

对于模拟器,我们通过命令行以adb push的方式将图片文件放入文件系统的某个位置,例如sdcard中,如下图所示:

ImageView image = (ImageView)findViewById(R.id.ui_image3);
try{ 
    String filename = Environment.getExternalStorageDirectory()+ "/wei/sunflower.jpg"; 
   image.setImageDrawable(Drawable.createFromPath(filename)); 
}catch(Exception e){ 
    Log.e("wei",e.toString()); 
}

方式4:通过Uri方式

ImageView image = (ImageView)findViewById(R.id.ui_image3);
image.setImageURI(Uri.parse("file://mnt/sdcard/wei/logo.jpg")); //只能是本地存储 

注意URI方式只限于本地存储,不能是远端存储,如果我们设置了web URI,系统会报以下错误:

其他

如果我们希望图片来自remote,可以利用BitmapFactory.decodeStream(InputStream is),然后将Bitmap放入ImageView中。

相关链接: 我的Android开发相关文章

【转】Pro Android学习笔记(十六):用户界面和控制(4):ImageView控件的更多相关文章

  1. 【转】 Pro Android学习笔记(六七):HTTP服务(1):HTTP GET

    目录(?)[-] HTTP GET小例子 简单小例子 出现异常NetworkOnMainThreadException 通过StrictMode进行处理 URL带键值对 Andriod应用可利用ser ...

  2. 【转】 Pro Android学习笔记(六十):Preferences(4):MultiSelect List Preference

    目录(?)[-] XML文件 在设备中保存 读出信息 ListPreference提供单选列表,我们可以通过CheckBoxPreference提供多选列表.此外,Android在3.0后提供Mult ...

  3. 【转】 Pro Android学习笔记(六八):HTTP服务(2):HTTP POST

    目录(?)[-] 找一个测试网站 HTTP POST小例子 上次学习了HTTP GET请求,这次学习一下HTTP POST. 找一个测试网站 小例子好写,但要找个测试网站就有些麻烦,一下子无从入手,都 ...

  4. 【转】 Pro Android学习笔记(六九):HTTP服务(3):HTTP POST MultiPart

    目录(?)[-] 建立测试环境 开发环境导入第三方JAR HTTP Post Multipart小例子 HTTP POST不仅可以通过键值对传递参数,还可以携带更为复杂的参数,例如文件.HTTP Po ...

  5. 【转】 Pro Android学习笔记(六五):安全和权限(2):权限和自定义权限

    目录(?)[-] 进程边界 声明和使用权限 AndroidManifestxml的许可设置 自定义权限 运行安全通过两个层面进行保护.进程层面:不同应用运行在不同的进程,每个应用有独自的user ID ...

  6. 【转】 Pro Android学习笔记(六三):Preferences(7):代码控制首选项

    [-] 代码实现preference 利用preference保存状态 DialogPreference 代码实现preference View可以不通过xml进行设置,有代码直接进行设置,首选项pr ...

  7. 【转】 Pro Android学习笔记(六二):Preferences(6):header

    目录(?)[-] 代码实现 header xml文件 在前面的例子,我们主要学习了PreferenceScreen的xml如何写,preference有哪些类型.在代码中,我们为了不提示warning ...

  8. 【转】 Pro Android学习笔记(六四):安全和权限(1):签发apk

    目录(?)[-] Android安全模型 数字证书签发 Debug的keystore 生产unsigned的apk 为apk进行证书签发 align安装包 使用Export Wizard生成签发的ap ...

  9. 【转】Pro Android学习笔记(六):了解Content Provider(中)

    Content Provider的架构 Authority类似web中的域名,每个content provider会通过AndroidManifest.xml向系统注册authority,如下.其中n ...

  10. 【转】 Pro Android学习笔记(八二):了解Package(1):包和进程

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在之前,我们已经学习了如何签发apk,见P ...

随机推荐

  1. php自定义函数: 加密下载地址

    function getdownurl($downurl, $extime = "3600", $serverid = 1) { if (empty($downurl)) { re ...

  2. 【python】-- 递归函数、高阶函数、嵌套函数、匿名函数

    递归函数 在函数内部,可以调用其他函数.但是在一个函数在内部调用自身,这个函数被称为递归函数 def calc(n): print(n) if int(n/2) == 0: #结束符 return n ...

  3. openstack 官方镜像qcow2 下载和修改密码

    下载地址: CentOS6:http://cloud.centos.org/centos/6/images/ CentOS7:http://cloud.centos.org/centos/7/imag ...

  4. postgres=# psql -U postgres -h 127.0.0.1 -p 5432 -d dreamstart_dev -w

    postgres=# psql -U postgres -h 127.0.0.1 -p 5432 -d dreamstart_dev -wpostgres-# \dNo relations found ...

  5. centos7 使用 maven

    http://www.cnblogs.com/jackluo/archive/2013/02/06/2901816.html

  6. rewrite_static

    <?php class MyObject { public static $myStaticVar = 0; function myMethod() { self::$myStaticVar + ...

  7. Elasticsearch使用记录

    Elasticsearch使用记录 Elasticsearch的搭建方法 1.RPM方式搭建 首先去官网[https://www.elastic.co/downloads/elasticsearch# ...

  8. iOS9 - 采用3D Touch

    iPhone 6s/6s Plus提供了触摸屏的另一个维度的操作手势-3D Touch,通常有下面两种应用场景: 在主屏幕上重按APP图标可以提供进入APP特定功能的快捷菜单 在APP内部,可以通过重 ...

  9. 从mysqldump整库备份文件中恢复单表

    最近,系统更新出现了问题,比较紧急,需要对三张表进行回档.由于我们都是采用mysqldump进行每天全备整库,数据量比较大,一个备份文件大概有70G,需要从这个70G文件中恢复三张表,真是蛋疼至极啊, ...

  10. P1393 动态逆序对

    题目 P1393 动态逆序对 做题前写篇博客是个好方法 做法 题目规定仅有删除,给每个位置标个号,逆序对+时间轴,显然这是个三维偏序 很久没做过\(cdq\)了,就当模板题讲一下: 按删除的先后顺序为 ...