在Android中很多地方都使用到图片,比如各种图标,图片按钮等。在Android中操作图片是通过使用Drawable类来完成的。Drawable类有很多个子类,如BitmapDrawable用来操作位图;ColorDrawable用来操作颜色;ShapeDrawable用来操作各种形状。
有三种凡事来实例化Drawable对象:一是用来保存在工程中的图片资源;而是在XML中定义Drawable属性;三是通过构造方法实例化,这种方法在实际开发中一般不会用到。
例子1:在代码中通过setImageResource()方法来设置
BitmapTest01.java
package org.test.bitmaptest01;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;
public class BitmapTest01 extends Activity {
//声明图片视图ImageView
private ImageView myImageView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myImageView = (ImageView)findViewById(R.id.ImageView01);
//为ImageView设置图片资源
myImageView.setImageResource(R.drawable.beau);
}
}
main.xml
<?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"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="测试"
/>
<ImageView
android:id="@+id/ImageView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
运行效果如下:
或者在XML中配置。
应用程序的图标子在AndroidManifest.xml中配置
<application android:icon="@drawable/icon" android:label="@string/app_name">
图片资源可以在布局文件中的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"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="测试"
/>
<ImageView
android:id="@+id/ImageView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/beau"
/>
</LinearLayout>
如果我们的图片文件保存在SDCard中又该怎么办呢?在这种情况下,我们可以使用Bitmap和BitmapFactory两个类来读取文件。下面是如何从SDCard中读取图片文件并将其设置为壁纸的例子。首先需要在SDCard中添加一个名为wallpaper.png的图片资源。
我们在onCreate()方法中通过BitmapFactory的decodeFile()方法传递文件路径,获取Bitmap对象,然后调用
setWallpaper就可以了
代码如下:
package com.loulijun.bitmapwallpaper;
import java.io.IOException;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String path = "/sdcard/wallpaper.png";
//通过BitmapFactory获取Bitmap实例
Bitmap bm = BitmapFactory.decodeFile(path);
try
{
//设置桌面
setWallpaper(bm);
}catch(IOException e)
{
e.printStackTrace();
}
}
}
效果不贴了,就是更换了桌面背景图片
- 大小: 51.6 KB
分享到:
相关推荐
这篇博文"玩转Android---2D图形及动画---Frame动画"显然会深入探讨如何在Android平台上创建和管理帧动画。帧动画是一种将一系列静态图像连续播放以产生动态效果的技术,常见于游戏和应用程序中的过渡效果。 首先,...
1. **渲染引擎**:cocos2d-x使用OpenGL ES进行图形渲染,提供了丰富的2D图形绘制API,如精灵(Sprite)、纹理(Texture)、层(Layer)和场景(Scene),使得开发者能够轻松创建复杂的2D游戏画面。 2. **动画系统**...
2. 渲染与动画:cocos2d-x在Android上支持OpenGL ES进行图形渲染,可以创建复杂的2D动画效果,如精灵的移动、旋转等。 3. 资源管理:cocos2d-x提供了资源加载和缓存机制,方便管理和复用游戏资源,如图像、音频、...
《cocos2d-x中国象棋》是一款基于Cocos2d-x游戏引擎开发的桌面棋类游戏,专注于呈现中国传统象棋的玩法。虽然它没有内置AI功能,但该项目的源代码提供了一个很好的学习平台,让开发者能够理解如何利用Cocos2d-x构建...
它的绘图系统基于OpenGL ES,能高效地绘制2D图形,包括精灵、纹理、位图字体等。此外,Cocos2d-x还提供了一套完整的动画系统,允许开发者创建复杂的序列动画。 在《口袋仙侠》中,源码的结构通常会分为多个模块,如...
- **图形渲染**:cocos2d-x支持精灵(Sprite)、纹理(Texture)、批次渲染(Batch rendering)等技术,能够高效地绘制2D图形。 - **场景管理**:通过Scene、Layer、Node等类,cocos2d-x构建了层次化的场景结构,...
- **需求分析**:明确游戏类型及核心玩法。 - **原型制作**:使用cocos2d-x快速搭建游戏框架。 - **功能实现**:逐步完善游戏逻辑及界面布局。 **5.2 性能测试与调优** - **压力测试**:模拟大量用户同时在线情况...
1. **渲染引擎**:Cocos2d-x提供了一个强大的渲染引擎,支持2D图形绘制,包括精灵(Sprite)、层(Layer)、场景(Scene)等基本元素。开发者可以利用这些元素构建游戏世界,通过组合和动画效果实现丰富的视觉表现。...
在cocos2d-x中,我们可以利用其提供的丰富的图形渲染、动画制作、物理模拟以及事件处理功能来实现这些游戏机制。 首先,让我们来看看 MonkeyJump 游戏的源码结构。通常,一个cocos2d-x项目会包含以下几个核心部分:...
- **渲染引擎**:Cocos2D-X使用OpenGL ES进行图形渲染,支持硬件加速,提供高效的2D渲染能力。 - **事件处理**:Cocos2D-X提供了一套事件处理系统,包括触摸事件、键盘事件、物理碰撞事件等。 2. **游戏场景与...
Cocos2d-x是一个开源的游戏开发框架,基于C++,同时支持Objective-C和Python等语言,广泛应用于移动平台,如iOS、Android以及Windows Phone等。这本书旨在帮助读者掌握Cocos2d-x的基础知识,为创建自己的游戏奠定...
1. **渲染系统**:基于OpenGL ES 2.0,提供了2D图形渲染能力,支持精灵(Sprite)、纹理(Texture)、图层(Layer)、场景(Scene)等游戏基本元素。 2. **动作与动画**:内置丰富的动作库,如旋转、缩放、移动等,...
精灵是可移动或交互的2D图形对象,而动作则控制精灵的行为,如移动、旋转、放大等。 本书会深入讲解Cocos2d-x 3.x的安装和配置过程,包括设置开发环境、集成开发工具的选择,以及如何创建第一个项目。此外,还会...
总的来说,"打地鼠"游戏的源代码为我们提供了一个学习cocos2d-x游戏开发的实例,通过研究其中的资源管理、图形渲染、事件处理和游戏逻辑,我们可以更好地理解和运用cocos2d-x框架,提升自己的游戏开发能力。
它的核心功能是提供2D游戏开发所需的图形渲染、物理引擎、动画系统、音频处理等功能。在本压缩包“Cocos2d-x坦克大战.zip”中,我们找到了一个适用于初学者的坦克大战源码,这将是一个很好的学习资源,帮助开发者...
Cocos2d-x提供了丰富的图形绘制、动画制作、物理引擎、音频处理等功能,使得游戏开发者能够快速构建出复杂的游戏逻辑和精美的视觉效果。 游戏的"旋转积木"概念可能是指玩家需要通过旋转不同形状的积木块,使其填满...
这样的游戏通常会运用到Android的图形渲染、触摸事件处理、游戏循环机制以及物理模拟等技术。 二、Android基础架构 在Android应用开发中,主要涉及以下几个关键组件: 1. **Activity**:作为用户界面的主要承载者...