.
مرجله ی اول : ابتدا آدرس دقیق کلاس مورد نظر را در یک رشته ی String ذخیره کنید مانند :
String MyClass = "ir.forayapps.text.MyClassName";
مرحله ی دوم : بک کلاس با استفاده از رشته String درست میکنیم به این صورت :
Class MyClassName = Class.forName("MyClass");
تمام شد حالا میتوانید از این کلاس استفاده کنید.
در بسیاری از برنامه ها دیدم که درهنگام زدن دکمه بک گوشی تلفن همراه یک پیغامی با متن (برای خروج دوباره دکمه بک را فشار دهید) رو به رو شدیم.در این مبحث میخواهیم این حالت رو به برنامه خودمون بیاریم.
برای شروع کار یک پروژه جدید ایجاد می کنیم و اسمش رو DoubleBack قرار میدیم.در ادامه وارد کلاس MainActivity.java می شویم و کدهای جاوای برنامه رو داخلش می نویسیم.(نیازی به وارد کردن عنصری به لایه برنامه نیست).در داخل کدهای جاوای برنامه ابتدا یک زمان برای دومین پرس دکمه بک در نظر میگیریم که در اینجا 2 ثانیه است.سپس یک متد onBackPressed ایجاد میکنم تا با دکمه بک کار کنیم. (کدهای کامل کلاس MainActivity).
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.Toast;
public class MainActivity extends Activity {
private static final int TIME_INTERVAL = 2000; // # milliseconds, زمان مورد نیاز برای دو پرس دکمه بازگشت.
private long mBackPressed;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//متد دکمه بازگشت
@Override
public void onBackPressed()
{
if (mBackPressed + TIME_INTERVAL > System.currentTimeMillis())
{
super.onBackPressed();
return;
}
//نمایش پیغام هنگام پرس دکمه بازگشت
else { Toast.makeText(getBaseContext(), "برای خروج از برنامه بروی دکمه خروج دوباره کنید!", Toast.LENGTH_SHORT).show(); }
mBackPressed = System.currentTimeMillis();
}
کد جاوا برای درست کردن یک دایره
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.widget.ImageView;
public class Test extends Activity{
ImageView drawingImageView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
drawingImageView = (ImageView)findViewById(R.id.DrawingImageView);
Bitmap bitmap = Bitmap.createBitmap((int) getWindowManager()
.getDefaultDisplay().getWidth(), (int) getWindowManager()
.getDefaultDisplay().getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
drawingImageView.setImageBitmap(bitmap);
// Circle
Paint paint = new Paint();
paint.setColor(Color.GREEN);
paint.setStyle(Paint.Style.STROKE);
float x = 50;
float y = 50;
float radius = 20;
canvas.drawCircle(x, y, radius, paint);
}
}
این اموزش ما با استفاده از انیمیشن به حرکت در بین اکتیوتی ها یک حالت زیبا و اسلاید خواهیم داد.
برای شروع کار یک پروژه جدید ایجاد میکنم به اسم SlideAnimation.بروی لایه اصلی برنامه یا activity_main.xml یک دکمه Button قرار میدیم.وظیفه این دکمه هدایت کاربر به صفحه دوم برنامه است.برای ایجاد صفحه دوم برنامه یا یک اکتیوتی جدید به این مطلب مراجعه کنید.بعد از تکمیل کردن لایه برنامه میریم سراغ انیمیشن ها و ساختشون.برای اینکار یک فولدر جدید در پوشه res ایجاد میکنیم به اسم anim در داخلش از دوتا فایل Xml به نام های animation.xml وanimation2.xml برای ایجاد حالت نمایشی اسلاید استفاده میکنیم.(کدهای کامل فایل animation.xml).
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="100%p"
android:toXDelta="0"
android:duration="500"/>
کدهای کامل فایل animation2.xml را در زیر مشاهده میکنید.
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="-50%p"
android:duration="500"/>
خیلی عالی.بعد از اتمام کردن طراحی انیمیشن ها،میریم سراغ فایل MainActivity.java و نوشتن کدهای جاوای برنامه.در داخل این فایل ابتدا دکمه رو معرفی کردیم و با استفاده از قابلیت OnClickListener براش یک رویداد کلیک ساختیم تا وقتی روش کلیک شد با استفاده از Intent کاربر رو به اکتیوتی دومی هدایت کنه و با استفاده از Bundle انیمیشن ها رو به حالت نمایشی اکتیوتی اضافه کنه.(کدهای کامل MainActivity.java ).
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.ActivityOptions;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
@SuppressLint("NewApi")
public class MainActivity extends Activity {
@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//معرفی دکمه
Button btnopen = (Button)findViewById(R.id.btn);
//ایجاد یک کلیک لیسنر برای دکمه
btnopen.setOnClickListener(new View.OnClickListener() {
@SuppressLint("NewApi")
@Override
public void onClick(View v) {
// ایجاد اینتنت برای رفتن به اکتیوتی دومی
Intent slideactivity = new Intent(MainActivity.this, Screen.class);
//ایجاد انیمیشن با استفاده از فایل های xml برای حرکت در بین اکتیوتی ها
Bundle bndlanimation =
ActivityOptions.makeCustomAnimation(getApplicationContext(), R.anim.animation,R.anim.animation2).toBundle();
startActivity(slideactivity, bndlanimation);
}
});
}
درباره این سایت