اضافه کردن انیمیشن به دیالوگ ها در اندروید+سورس

به نام خدا در این آموزش می خواهیم با اضافه کردن انیمیشن به دیالوگ در اندروید آشنا بشیم.ابتدا یک پروژه جدید ایجاد می کنیم و کدهای زیر رو به لایه اصلی برنامه activity_main.xml اضافه می کنیم.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

       <Button
        android:id="@+id/btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Nemayesh" />

</RelativeLayout>

در داخل لایه برنامه تنها از دکمه استفاده کرده ایم که وظیفه فراخوانی آلرت دیالوگ را برعهده دارد.در داخل پوشه res یک پوشه جدید به نام anim ایجاد می کنیم و در داخل پوشه از دو فایل xml جدید به نام one.xml و two.xml تعریف می کنیم.

کدهای مربوط به one.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="2000" >

    <translate
        android:fromXDelta="100%p"
        android:fromYDelta="-100%p"
        android:toXDelta="0"
        android:toYDelta="0" />

    <rotate
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="1080" >
    </rotate>

    <scale
        android:fromXScale="0.0"
        android:fromYScale="0.0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="1.0"
        android:toYScale="1.0" />

</set>

کدهای مربوط به two.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromXDelta="0"
    android:toXDelta="-100%p">

</translate>

این دو فایل انیمیشن های مربوط به نمایش آلرت دیالوگ و رفتن آلرت دیالوگ را تعریف می کنند.سپس در قدم بعدی کدهای زیر رو به فایل style.xml اضافه می کنیم.میبنید که در داخل فایل استایل DialogAnimation را تعریف کردیم که از دو آیتم one.two بهره میبرد.آیتم اول برای وارد شدن به دیالوگ است که از انیمیشن تعریف شده در one.xml استفاده می کند و آیتم دوم برای خارج شدن از دیالوگ است که از فایل two.xml استفاده می کند.

	    <!-- افزودن به فایل style -->
	     <style name="DialogAnimation">
	        <item name="android:windowEnterAnimation">@anim/one</item>
	        <item name="android:windowExitAnimation">@anim/two</item>
	    </style>

و در نهایت کدهای جاوا برنامه و متصل کردن انیمیشن ها به آلرت دیالوگ و نمایش آن.در کدهای زیر با استفاده از دستور dialog.getWindow() انیمیشن های مدنظرمون رو به AlertDialog متصل می کنیم.

//Appinapps.com
//اموزش برنامه نویسی
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
	
	//معرفی دکمه ودیالوگ به صورت Global
	Button btn;
	AlertDialog dialog;
	AlertDialog.Builder builder ;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		builder = new AlertDialog.Builder(this);
		builder.setTitle("Appinapps Dilaog");

		builder.setMessage("Dialog With Animation");

		builder.setPositiveButton("ok",
                new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface d, int id) {
            	d.dismiss();
            }
        });
        
		dialog = builder.create();

		//افزودن انیمیشن به الرت دیالوگ
		dialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation;
		
		
        
        btn=(Button)findViewById(R.id.btn);
        btn.setOnClickListener(btnL);

	}
	//لیسنر برای دکمه
	//جهت نمایش دیالوگ در هنگام کلیک بر روی دکمه
	View.OnClickListener btnL=new View.OnClickListener() {
		
		@Override
		public void onClick(View arg0) {
			dialog.show();	        
		}
	};
	

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

به همین راحتی موفق باشد


فایلهای ضمیمه
توجه! برای مشاهده فایلهای ضمیمه با ید وارد سایت شوید

نظرات شما نظر جدید
سایر مقالات این دسته
کار با حالت ActionMode در اندرویدکار با انیمیشن ها قسمت اول ساخت Spalsh Screenساخت انیمیشن به صورت کامل قسمت دومحرکت اسلاید بین اکتیوتی ها با انیمیشن ها +سورسمعرفی انواع پایگاه داده (DataBase)کار با دیتابیس در اندروید قسمت اولساخت toggleButton زیبا و سفارشیکار با دیتابیس در اندروید قسمت دومساخت برنامه رادیوی انلاین+سورسکار با حافظه داخلی در اندرویدساخت برنامه تشخیص صدای فارسی و انگلیسی در اندروید+استفاده از سورس های اندروید استودیو در محیط ایکلیپکار با Switch Button در اندرویدتغییر خودکار تصویر پس زمینه لایه ساخت لیست ویو با قابلیت جستوجوی الفباییدانلود تصویر از ادرس اینترنتی+سورسکار با دیتابیس در اندروید:جستجو در sqlite قسمت 1دانلود نسخه جدید و بروز شده محیط توسعه اندرویدکار با دیتابیس در اندروید:جستجو در sqlite قسمت 2ساخت کتاب برای اندروید بدون برنامه نویسیبهترین زبان برنامه نویسی که میتوانید در 2015 بياموكار با Power Manager در اندرويدساخت اسکرول بار سفارشی+سورسساخت گرید ویو سفارشیساخت پروگرس بار با شمارنده +سورسترسیم یک خط با Canvas+سورستغییر نام برنامه به صورت کاملکار با حالت دوبل بک(Double back)ساخت برنامه دو زبانه(Multi language )ساخت لایه و عناصر داینامیک در اندرویدساخت برنامه چاپ متن بر روی تصویر+سورسکار با ShowCase View در اندروید+سورسافزودن لیست به الرت دیالوگ+سورسساخت مرورگر وب سادهکار با Drag And Drop در اندروید+سورسکار با DatePickerDialog در اندروید+سورسکار با فرگمنت ها(ساخت Sliding Navigation Drawer)کار با ViewFlipper (ساخت اسلاید شو تصاویر)ساخت توست سفارشی قسمت دوم زمانبندی Toastکار با BroadcastReceiver ها،ساخت برنامه دریافتsmsطراحی و ساخت صفحه Login Screen + سورسبارگذاری ویدیو از گالری در اندرویدساخت پنجره پاپ آپ + سورسبارش برف بروی تصویر + سورسکار با فیلتر hue رنگی کردن تصویر انتخاب و پخش فایل صوتی از حافظه گوشی+سورساضافه کردن چک باکس به لیست ویوکار با ShelfView یا نمایش کتابخانه ای + سورسکار با TabHost،اضافه کردن تب به برنامه های اندرویدمعکوس کردن رنگ ها(Invert Image) + سورسآموزش کامل ساخت اکشن بار سفارشی+سورسساخت برنامه های واکنش گرا(ریسپانسیو) در اندرویدقسمت دوم صفحات 7 اینچ به بالااضافه کردن انیمیشن به دکمه+سورسکار با View Switcher در اندروید + سورسکار با فیلتر Blur Mask + سورسدانلود پک کامل آیکون های طراحی اندرویدکار با sharedPreferences در اندروید+سورسآموزش کار با proguard،محافظت از برنامه اندرویدپخش فایل صوتی (MP3) از ادرس اینترنتی+سورسپخش ویدیو از آدرس اینترنتی(URL) در اندروید+سورسگوشی های و تبلت های مطرح تا چینی به ساده ترین روشپاسخ به رویداد های WebVeiw دسترسی به وب ویو با استفاده از جاوااسکریپتکار با WIFI اکسس+سورسساخت تقویم هجری برای اندروید+سورسapp rateدانلود و نمایش تصویر در ListView+سورسدانلود و نمایش فایل متنی+سورسکار با کلاس های پایه اکتیویتیآینه کردن تصویر+سورسافزودن آیتم منو سفارشی بهActionBar+سورسارسال اطلاعات از دیتابیس به GridView + سورسکار با کلید های فیزیکی در اندروید+سورسدسترسی به Api هایREST قسمت اولتغییر فونت لیست ویواستفاده از تحلیل گرGoogle Analytics در برنامه اندرویداضافه کردن انیمیشن به دیالوگ ها در اندروید+سورساستفاده ازگیت‌هاب در اندروید استودیوکار با Swipe tab Layouدر برنامه نویسی اندروید دیباگ کردن برنامه اندروید با wifiبهینه سازی مصرف RAM در برنامه نویسی اندرویدافزودن شمارنده صفحه به ViewPager + سورس آموزش نرم افزار SQLite Browserکار با JSON در اندرویدآموزش ساده نصب شبیه ساز اندروید Genymotion