当前位置:  首页  >  PHP资讯  >  业界资讯

Android实现手机壁纸改变的方法

这篇文章主要介绍了Android实现手机壁纸改变的方法,以完整实例形式分析了Android手机壁纸改变的方法,包括页面布局及属性设置的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了Android实现手机壁纸改变的方法。分享给大家供大家参考。具体如下:

main.xml布局文件:

 <&#63;xml version="1.0" encoding="utf-8"&#63;>  

清单文件:

 <&#63;xml version="1.0" encoding="utf-8"&#63;>              

WallAdapter自定义适配器:

 package com.ljq.activity; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.ImageView; public class WallAdapter extends BaseAdapter { private int[] imgIds = null; private Context cOntext= null; public WallAdapter(int[] imgIds, Context context) { super(); this.imgIds = imgIds; this.cOntext= context; } public int getCount() { return imgIds.length; } public Object getItem(int position) { //return imgIds[position]; return imgIds[position%imgIds.length];//可循环 } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView = new ImageView(context); imageView.setBackgroundResource(imgIds[position]);// 设置ImageView的背景图片 imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setLayoutParams(new Gallery.LayoutParams(120, 120)); return imageView; } } 

WallActivity类:

 package com.ljq.activity; import java.io.IOException; import java.io.InputStream; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.Button; import android.widget.Gallery; import android.widget.ImageView; import android.widget.AdapterView.OnItemSelectedListener; public class WallActivity extends Activity { private int[] imgIds={R.drawable.w1, R.drawable.w2, R.drawable.w3, R.drawable.w4}; private int selectIndex=-1;//被选中的图片在id数组中的索引 private ImageView currWall=null; private Gallery gallery=null; private Button clearWall=null; private Button getWall=null; private Button setWall=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); gallery=(Gallery)findViewById(R.id.gallery); gallery.setAdapter(new WallAdapter(imgIds, WallActivity.this)); gallery.setSpacing(5); gallery.setOnItemSelectedListener(new OnItemSelectedListener(){ public void onItemSelected(AdapterView<&#63;> parent, View view, int position, long id) { selectIndex = position;//记录被选中的图片索引 } public void onNothingSelected(AdapterView<&#63;> parent) { } }); currWall=(ImageView)findViewById(R.id.currWall); clearWall=(Button)findViewById(R.id.clearWall); getWall=(Button)findViewById(R.id.getWall); setWall=(Button)findViewById(R.id.setWall); clearWall.setOnClickListener(listener); getWall.setOnClickListener(listener); setWall.setOnClickListener(listener); } View.OnClickListener listener=new View.OnClickListener(){ public void onClick(View v) { Button btn=(Button)v; switch (btn.getId()) { case R.id.clearWall://还原手机壁纸 try { WallActivity.this.clearWallpaper(); } catch (IOException e) { e.printStackTrace(); } break; case R.id.getWall://设置ImageView显示的内容为当前墙纸 currWall.setBackgroundDrawable(getWallpaper()); break; case R.id.setWall://设置墙纸 InputStream in=WallActivity.this.getResources().openRawResource(imgIds[selectIndex]); try { setWallpaper(in); } catch (IOException e) { e.printStackTrace(); } break; } } }; } 

运行结果:

希望本文所述对大家的Android程序设计有所帮助。

内容推荐:免费高清PNG素材下载
吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有 京ICP备19059560号-4