This article is an example of how Android implements mobile wallpaper changes. Share to everyone for your reference. Specifically as follows:
Main.xml Layout file:
<?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_conte NT "android:text=" restore Default wallpaper "/> <imageview android:id=" @+id/currwall "android:layout_width=" 100px "Andr
oid: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= "Get current Wallpaper"/> Y android:id= "@+id/gallery" android:layout_width= "fill_parent" android:layout_height= "wrap_content"/> <Bu Tton android:id= "@+id/setwall" android:layout_width= "fill_parent" android:layout_height= "Wrap_content" Andro Id:text= "Set as current wallpaper"/> </linearlayout>
Manifest file:
<?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"/>
<!--set the-->
<uses-permission android:name= "Android.permission.SET_WALLPAPER" for mobile wallpaper >
</manifest>
Walladapter Custom Adapters:
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 = 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];//can loop} public long getitemid (int position) {return position; Public View GetView (int position, View Convertview, ViewGroup parent) {ImageView ImageView = new ImageView (Contex
T); Imageview.setbackgroundresource (Imgids[position])//Set ImageView background picture Imageview.setscaletype (
ImageView.ScaleType.CENTER_CROP); Imageview.setlayoutparams (New Gallery.layOutparams (120, 120));
return ImageView;
}
}
Wallactivity class:
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.drawab
LE.W4};
private int selectindex=-1;//The selected picture in the ID array of the index 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;//record selected picture index} public void onnothingselected (Adapter
View<?> 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://restore Mobile wallpaper try {WallActivity.this.clearWallpaper ();
catch (IOException e) {e.printstacktrace ();
} break; Case r.id.getwall://Settings ImageView display is the current wallpaper
Currwall.setbackgrounddrawable (Getwallpaper ());
Break
Case r.id.setwall://Set Wallpaper InputStream in=wallactivity.this.getresources (). Openrawresource (Imgids[selectindex]);
try {setwallpaper (in);
catch (IOException e) {e.printstacktrace ();
} break;
}
}
};
}
Run Result:
I hope this article will help you with your Android program.