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

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

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"> <Button android:id="@+id/clearWall" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="恢复默认墙纸" /> <ImageView android:id="@+id/currWall" android:layout_width="100px" android:layout_height="150px" android:layout_gravity="center_horizontal" /> <Button android:id="@+id/getWall" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="获取当前墙纸" /> <Gallery android:id="@+id/gallery" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/setWall" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="设置为当前墙纸" /> </LinearLayout>

清单文件:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ljq.activity" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".WallActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="7" /> <!-- 设置手机墙纸权限 --> <uses-permission android:name="android.permission.SET_WALLPAPER" /> </manifest>

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<?> parent, View view, int position, long id) { selectIndex = position;//记录被选中的图片索引 } public void onNothingSelected(AdapterView<?> 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程序设计有所帮助。

时间: 2024-10-03 08:12:33

Android实现手机壁纸改变的方法的相关文章

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

本文实例讲述了Android实现手机壁纸改变的方法.分享给大家供大家参考.具体如下: main.xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" androi

Android调用手机拍照功能的方法_Android

本文实例讲述了Android调用手机拍照功能的方法.分享给大家供大家参考.具体如下: 一.main.xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" andr

Android实现手机振动设置的方法

本文实例讲述了Android实现手机振动设置的方法.分享给大家供大家参考.具体如下: main.xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" androi

Android调用手机拍照功能的方法

本文实例讲述了Android调用手机拍照功能的方法.分享给大家供大家参考.具体如下: 一.main.xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" andr

Android获取手机通话记录的方法_Android

Android如何获取手机通话记录,本文为大家揭晓. 获取手机通话记录流程: 1. 获取ContentResolver; ContentResolver resolver = getContentResolver(); 2.resolver.query(*); 需要传入通话记录的URI:CallLog.Calls.CONTENT_URI 3.对查询得到的Cursor进行数据获取. 主要代码如下: MainActivity.java package com.noonecode.contentres

Android获取手机通话记录的方法

Android如何获取手机通话记录,本文为大家揭晓. 获取手机通话记录流程: 1. 获取ContentResolver; ContentResolver resolver = getContentResolver(); 2.resolver.query(*); 需要传入通话记录的URI:CallLog.Calls.CONTENT_URI 3.对查询得到的Cursor进行数据获取. 主要代码如下: MainActivity.java package com.noonecode.contentres

android获取手机唯一标识的方法_Android

复制代码 代码如下: import android.provider.Settings.Secure; private String android_id = Secure.getString(getContext().getContentResolver(),Secure.ANDROID_ID); UUID deviceUuid = new UUID(androidId.hashCode(), ((long)tmDevice.hashCode() << 32) | tmSerial.hash

android获取手机唯一标识的方法

复制代码 代码如下:import android.provider.Settings.Secure; private String android_id = Secure.getString(getContext().getContentResolver(),Secure.ANDROID_ID); UUID deviceUuid = new UUID(androidId.hashCode(), ((long)tmDevice.hashCode() << 32) | tmSerial.hashC

一个手机壁纸网站的SEO诊断

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 什么样的网站最难优化呢?笔者认为莫过于flash网站和图片网站,对于纯粹flash的企业网站,没有好的办法,目前的百度蜘蛛还不会抓取flash代码.但像一些摄影类的网站喜欢用绚丽的flash来增加网站的美感,这样的网站确实很难做优化.而另一类的图片站,优化起来也比较头大,下面笔者和大家一起聊聊一个手机壁纸站如何优化?作为一个SEO专员,接到一