تنظیم عکس به عنوان Wallpaper گوشی در اندروید

چهارشنبه 28 بهمن 1394

در این مقاله می خواهیم یک تصویر را به عنوان پس زمینه بر روی گوشی خود با استفاده از wallpapermanager تنظیم نماییم ، Wallpaper Manager به شما اجازه می دهد تا تصویر مورد نظر خود را با ابعاد مشخص دریافت و آن را بر روی گوشی خود تنظیم نمایید.

تنظیم عکس به عنوان Wallpaper گوشی در اندروید

در این مقاله می خواهیم یک تصویر پیش فرض را با استفاده از یک دکمه بتوانیم برای wallpaper خود تنظیم نماییم.

یک پروژه ی جدید ایجاد نمایید، نام و package خودتان را به دلخواه نام گذاری نمایید.

یک activity جدید ایجاد نمایید به صورت زیر:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <ImageView
        android:id="@+id/wallpaper"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</RelativeLayout>

داخل صفحه ی xml خود یک imageview قرار دهید که قرار است عکس مورد نظر خود را داخل این imageview نمایش دهید.

ما از یک آیتم برای منوی actionbar استفاده می نماییم که باز زدن آن عکس مورد نظر بر روی صفحه ی گوشی تنظیم خواهد شد.

عکس مورد نظر خود را داخل پوشه ی res/drawable قرار دهید.

برای تغییر نام application خود در فایل string مورد نظر در قسمت res/value می توانید نام application خود را قرار دهید.

<resources>
 
    <string name="app_name">Wallpaper Tutorial</string>
    <string name="menu_settings">Settings</string>
 
</resources>

برای کلاس جاوا هم قطعه کد زیر را قرار دهید:

package com.androidbegin.wallpapertutorial;
import java.io.IOException;
import android.os.Bundle;
import android.app.ActionBar;
import android.app.Activity;
import android.app.WallpaperManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MenuItem.OnMenuItemClickListener;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// Get the view from activity_main.xml
		setContentView(R.layout.activity_main);

		// Create an actionbar
		ActionBar actionBar = getActionBar();
		actionBar.show();

		// Locate ImageView in activity_main.xml
		ImageView mywallpaper = (ImageView) findViewById(R.id.wallpaper);

		// Attach image into ImageView
		mywallpaper.setImageResource(R.drawable.logo);

	}
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {

		// Create an actionbar menu
		menu.add("تنظیم عکس پس زمینه")
				// Add a new Menu Button
				.setOnMenuItemClickListener(this.SetWallpaperClickListener)
				.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);

		return super.onCreateOptionsMenu(menu);
	}
	// Capture actionbar menu item click
	OnMenuItemClickListener SetWallpaperClickListener = new OnMenuItemClickListener() {

		public boolean onMenuItemClick(MenuItem item) {

			// Retrieve a WallpaperManager
			WallpaperManager myWallpaperManager = WallpaperManager
					.getInstance(MainActivity.this);

			try {
				// Change the current system wallpaper
				myWallpaperManager.setResource(R.drawable.logo);

				// Show a toast message on successful change
				Toast.makeText(MainActivity.this,
						"صفحه پس زمینه با موفقیت تغییر کرد", Toast.LENGTH_SHORT)
						.show();

			} catch (IOException e) {
				// TODO Auto-generated catch block
			}
			return false;
		}
	};
}

داخل فایل androidmanifest خود مجوز دسترسی تغییر عکس را برای wallpaper قرار دهید.

<uses-permission android:name="android.permission.SET_WALLPAPER" >

خروجی به صورت زیر خواهد بود:

 

زمانی که بر روی دکمه ی مورد نظر بزنید عکس مورد نظر به صورت پیش فرض در صفحه ی background گوشی شما قرار خواهد گرفت.

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید