Android使用控件ImageView加载图片的方法

在 Android 加载图片一般使用 ImageView,这里简单记录一下这个控件的使用方法。

最简单就是在 xml 里直接使用 ImageView 标签:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 >
<ImageView
 android:id="@+id/iv"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:src="@drawable/welcome"
/>
</LinearLayout>

如果不想在 xml 里,也可以在程序里面加载。比如:

@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 //setContentView(R.layout.activity_main);

 ImageView welcome = new ImageView(this);
 welcome.setImageResource(R.drawable.welcome);
 setContentView(welcome);
}

构建ImageView对象时传递了一个this参数,表示与当前上下文(context)关联。这个Context由系统处理,它提供诸如资源解析、获取访问数据库和偏好等服务。因为Activity类继承自Context,且因为你的HelloWorld类是Activity的子类,它也是一个Context。因此,你可以传递this作为你的Context给ImageView引用。

Android ImageView如何加载网络图片资源,代码也分享给大家:

package com.android.antking.imageview; 

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL; 

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView; 

public class MainActivity extends Activity {
  //定义一个图片显示控件
  private ImageView imageView;
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    //图片资源
    String url = "/orignal/89429f6dhb99b4903ebcf&690";
    //得到可用的图片
    Bitmap bitmap = getHttpBitmap(url);
    imageView = (ImageView)this.findViewById(R.id.imageViewId);
    //显示
    imageView.setImageBitmap(bitmap); 

  }
  /**
   * 获取网落图片资源
   * @param url
   * @return
   */
  public static Bitmap getHttpBitmap(String url){
    URL myFileURL;
    Bitmap bitmap=null;
    try{
      myFileURL = new URL(url);
      //获得连接
      HttpURLConnection conn=(HttpURLConnection)myFileURL.openConnection();
      //设置超时时间为6000毫秒,conn.setConnectionTiem(0);表示没有时间限制
      conn.setConnectTimeout(6000);
      //连接设置获得数据流
      conn.setDoInput(true);
      //不使用缓存
      conn.setUseCaches(false);
      //这句可有可无,没有影响
      //conn.connect();
      //得到数据流
      InputStream is = conn.getInputStream();
      //解析得到图片
      bitmap = BitmapFactory.decodeStream(is);
      //关闭数据流
      is.close();
    }catch(Exception e){
      e.printStackTrace();
    } 

    return bitmap; 

  }
} 

以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • android 多点触摸图片缩放的具体实现方法

    布局: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/relativeLayout1"    android:layout_width="fill_parent

  • Android实现自定义轮播图片控件示例

    要完成一个轮播图片,首先想到的应该是使用ViewPager来实现.ViewPager已经有了滑动的功能,我们只要让它自己滚动.再加上下方的小圆点就行了.所以我们本次的自定义控件就是由ViewPager和LinearLayout叠加起来组成的. 直接先上效果图: 创建一个自定义的ViewPager 先上完整的代码 package com.kcode.autoscrollviewpager.view; import android.content.Context; import android.os

  • Android 图片网格布局控件示例代码

    项目地址:MultiPictureView MultiPictureView是一个可以将多张图片以网格的方式显示的View,通过简单的接口实现烦人的布局,从此解放你的小手手 显示效果 支持设置图片数量上限 支持设置最多显示列数 支持动态布局和静态布局两种模式(见下图) 支持编辑模式和展示模式(编辑模式可以增加和删除图片) 布局方式 动态布局 静态布局 编辑/显示模式 如何使用 1. 在布局中声明 <com.goyourfly.multi_picture.MultiPictureView andr

  • Android中让图片自适应控件的大小的方法

    这就需要把.png格式的图片转成.9.png格式,.9.png就是后缀名.在安装Android-SDK时自带了<draw9patch.bat>可以把.png格式的图片编辑后保存就变成了.9.png格式.这个文件存放在你所安装的Android-SDK目录->sdk->tools目录下. .9.png格式在Andriod中可以做到根据控件大小自适应,最重要的是不会失真.是不是很完美?下面就来看是如何制作.9.png格式的进度条. 启动后的界面如下: 首先要准备要转换的png图片,并把图

  • Android编程实现GridView控件点击图片变暗效果的方法

    本文实例讲述了Android编程实现GridView控件点击图片变暗效果的方法.分享给大家供大家参考,具体如下: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); grid = (GridView) findViewById(R.id.grid); grid.setAdapte

  • Android实现自定义轮播图片控件详解

    首先上效果图 实现原理 要完成一个轮播图片,首先想到的应该是使用ViewPager来实现.ViewPager已经有了滑动的功能,我们只要让它自己滚动.再加上下方的小圆点就行了.所以我们本次的自定义控件就是由ViewPager和LinearLayout叠加起来组成的. 一.创建一个自定义的ViewPager 先上完整的代码 package com.kcode.autoscrollviewpager.view; import android.content.Context; import andro

  • Android控件ImageSwitcher实现左右图片切换功能

    ImageSwitcher类是ViewSwitcher类的子类,它实现的效果是在完成ImageView的切换并且带有动画效果.要使用这个类需要以下两个步骤: 1)为ImageSwitcher类提供一个ViewFactory,该ViewFactory生成的View组件必须是ImageView. 2)需要切换的时候,只需要嗲用ImageSwitcher的setImageDrawable().setImageResource().setImageURL()方法即可实现切换. activity_main

  • Android中利用matrix 控制图片的旋转、缩放、移动

    本文主要讲解利用android中Matrix控制图形的旋转缩放移动,具体参见一下代码: 复制代码 代码如下: /**  * 使用矩阵控制图片移动.缩放.旋转  */  public class CommonImgEffectView extends View { private Context context ;      private Bitmap mainBmp , controlBmp ;      private int mainBmpWidth , mainBmpHeight , c

  • Android中ImageView.src设置图片拉伸、填满控件的方法

    问题 ImageView.src设置图片资源,图片不拉伸了,却有空隙部分: <LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <ImageView andro

  • Android编程实现图片放大缩小功能ZoomControls控件用法实例

    本文实例讲述了Android编程实现图片放大缩小功能ZoomControls控件用法.分享给大家供大家参考,具体如下: MainActivity代码: package example.com.myapplication; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Matrix; import

  • Android进阶篇-自定义图片伸缩控件具体实例

    ZoomImageView.java: 复制代码 代码如下: /** * @author gongchaobin *  *  自定义可伸缩的ImageView */public class ZoomImageView extends View{    /** 画笔类  **/    private Paint mPaint; private Runnable mRefresh = null;    /** 缩放手势监听类  **/    private ScaleGestureDetector

  • Android自定义View实现多图片选择控件

    前言 相信很多朋友在开发中都会遇到图片上传的情况,尤其是多图上传,最经典的莫过于微信的图片选择了.所有很多情况下会使用到多图选择,所以就有了这篇文章,今天抽点时间写了个控件.  •支持自定义选择图片的样式  •支持设置图片选择数量  •支持图片预览,删除  •支持图片拍照 先来看看效果 实现分析 假如不定义控件,我们要实现这样一个功能,无非是写个GridView在item点击的时候去显示图片进行选择,在返回界面的时候进行GridView的数据刷新.我们把这些逻辑写在我们自定义的GridView中

随机推荐