android从手机内存获得图片并全屏显示

原创 2015年10月28日 18:01:36

java部分代码:

<span style="font-size:18px;">package com.xpc.imageviewdemo;

import java.io.File;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.os.Environment;
import android.util.DisplayMetrics;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;

public class MainActivity extends Activity {
	ImageView img;
	String path;
	String filepath;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
				WindowManager.LayoutParams.FLAG_FULLSCREEN);//不显示标题栏
		setContentView(R.layout.activity_main);
		img = (ImageView) findViewById(R.id.imageView1);
		File sd = Environment.getExternalStorageDirectory();
		path = sd.getPath();//获得手机内存storage的位置
		filepath = path + "/picturereceive/beautiful2.jpg";//storage下需要全屏显示的图片路径(要根据自己手机中需要显示图片路径位置进行修改)
		File file = new File(filepath);
		System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<"+filepath);
		if (file.exists()) {
			System.out.println("<<<<<<<<<<<<<<<<<<<<<<<4");
			Bitmap bm = BitmapFactory.decodeFile(filepath);//获得设置路径下图片并编码为Bitmap格式
			bm = big(bm);//放大图片至全屏
			System.out.println("<<<<<<<<<<<<<<<<<5");
			img.setImageBitmap(bm);//设置图片为背景图
		}
		else {
			System.err.println("<<<<<<<<<<<<<404 Not Find");//控制台输出没找到图片
		}
	}

	public Bitmap big(Bitmap bitmap) {  				//修改bitmap大小
		DisplayMetrics dm = new DisplayMetrics();
		getWindowManager().getDefaultDisplay().getMetrics(dm);  
		int screenWidth = dm.widthPixels;				//获取当前屏幕宽度  
		int screenHeight = dm.heightPixels;				//获取当前屏幕高度
		float w = (float) screenWidth / bitmap.getWidth();	//计算当前图片要全屏幕,宽度需要放大尺寸
		float h = (float) screenHeight / bitmap.getHeight();//计算当前图片要全屏,高度需要放大尺寸
		if (w >= h)//选取较小尺寸进行放大
			w = h;
		Matrix matrix = new Matrix();
		matrix.postScale(w, w);//设置宽高放大比例(这里为等比例放大)
		Bitmap resizeBmp = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),
				bitmap.getHeight(), matrix, true);//对现有bitmap进行放大
		return resizeBmp;
	}
}</span>


xml布局文件代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"//设置背景为黑色
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_launcher" />

</RelativeLayout>

注意一定要加上手机读内存权限

在manifest文件中写入  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>


该项目源代码位置  该项目demo

加载手机存储卡中的图片BitmapFactory.decodeFile()

Android API中提供了Bitmap(Android.graphics.Bitmap)与BitmapFactory(Android.graphics.bi)
  • dsc114
  • dsc114
  • 2014年07月21日 23:33
  • 2406

Android应用开发之图片(Bitmap)压缩(一)---------Bitmap与BitmapFactory的认识及图片的存储形式大小的实验

在Android应用中是离不开图片的,
  • ls703
  • ls703
  • 2014年10月23日 15:02
  • 2329

Android使用BitmapFactory.Options压缩图片解决加载大图片内存溢出

由于Android对图片使用内存有限制,若是加载几兆的大图片便内存溢出。Bitmap会将图片的所有像素(即长x宽)加载到内存中,如果图片分辨率过大,会直接导致内存溢出(java.lang.OutOfM...
  • heng615975867
  • heng615975867
  • 2016年01月26日 21:10
  • 1722

关于安卓手机的全屏显示问题

有时候我们在开发一款应用,例如视频播放,游戏等;有的页面需要全屏显示; 这就需要先了解几个概念; 状态栏,系统栏,导航栏; 1;状态栏: 每个安卓设备的ui在规划上都专门有一块区域用于显示时间...
  • ChunLoongChow
  • ChunLoongChow
  • 2016年07月12日 11:36
  • 1080

Android画图之Bitmap填满整个屏幕

最近写电子书程序,设计到对图像的处理,主要是对 Bitmap 的处理,所以有一点小小的心得,拿出来跟大家分享一下。 要把一个 Bitmap 画到 View 上,必须用到的类有 android.gra...
  • waysoflife
  • waysoflife
  • 2014年10月27日 15:51
  • 3555

Android浏览图片,点击放大至全屏效果

最近做一个项目类似于QQ空间,做到照片浏览的功能,对于QQ空间中点击图片放大至全屏,感觉效果很赞,于是也做了个类似的效果。如下。 我不知道QQ那个是怎么做的,我的思路如下...
  • l970859633
  • l970859633
  • 2016年05月24日 13:27
  • 2332

BitmapFactory解析与Bitmap的内存优化

最近在看我们app的时候发现了页面卡顿问题,最后定位问题在给某个页面上的view设置了模糊背景。然后参考了几篇文章。...
  • u012123268
  • u012123268
  • 2017年04月10日 14:57
  • 246

Android实现获取手机里面的所有图片

public class MainActivity extends Activity {//查看图片按钮 private Button look; private Button add...
  • bi_diu1368
  • bi_diu1368
  • 2016年09月03日 22:52
  • 5084

Android ImageUtils 图片工具类,包括:小米从相册调图像空指针,三星旋转照片,压缩图片,保存Bitmap到本地,获取本地视频的缩略图,毛化玻璃效果,代码以后会更新

Android,图片处理
  • xihe9152
  • xihe9152
  • 2017年04月07日 10:14
  • 585

设置ImageView显示的图片铺满全屏

转载自:http://m.blog.csdn.net/blog/wjwj1203/32334459         为适应不同屏幕的手机,ImageView显示的图片可能不铺满屏幕,...
  • lyx4228716
  • lyx4228716
  • 2015年04月27日 22:24
  • 8809
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android从手机内存获得图片并全屏显示
举报原因:
原因补充:

(最多只允许输入30个字)