تنظیم عکس به عنوان Wallpaper گوشی در اندروید
چهارشنبه 28 بهمن 1394در این مقاله می خواهیم یک تصویر را به عنوان پس زمینه بر روی گوشی خود با استفاده از wallpapermanager تنظیم نماییم ، Wallpaper Manager به شما اجازه می دهد تا تصویر مورد نظر خود را با ابعاد مشخص دریافت و آن را بر روی گوشی خود تنظیم نمایید.
در این مقاله می خواهیم یک تصویر پیش فرض را با استفاده از یک دکمه بتوانیم برای 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 گوشی شما قرار خواهد گرفت.
- Android
- 2k بازدید
- 4 تشکر