گروه کامپیوتر دانشگاه آزاد

اساتید و دانشجویان دانشگاه آزاد اسلامی

گروه کامپیوتر دانشگاه آزاد

اساتید و دانشجویان دانشگاه آزاد اسلامی

بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِیمِ
زکات علم، نشر آن است. گروه کامپیوتر دانشگاه آزاد با هدف خدمت به دانش آموزان ، دانشجویان و آنهایی که علاقه به برنامه نویسی و طراحی و کلیه امور تخصصی کامپیوتر دارند با هدف نشر علم خدمت رسانی کند امید است کاربران در جهت تحقق این اهداف والا یار و همدم ما باشند . . .

آخرین نظرات

به نام خدا سلام خدمت دوستان برنامه نویس.در این جلسه می خواهیم با توگل باتن (ToggleButton) کار کنیم،گاهی اوقات ممکنه از کاربر بخواهیم یک پروسه ای رو فعال یاغیرفعال کند،در چنین مواقعی بهترین گزینه استفاده از توگل باتن هست.امروز طی یک پروژه با توگل باتن و نحوه کارکردش بیشتر اشنا خواهیم شد.من یک پروژه جدید ایجاد کردم و اسمش رو ToggleButton گذاشتم و در قسمت پالت ها از پوشه Form Widgets  ابزار توگل باتن(ToggleButton) رو انتخاب کردم و بروی لایه خودم کشیدم.

کار با توگل باتون در اندروید

به توگل باتن اولی یک خاصیت به اسم android:textOn رو اضافه میکنیم و مقدارش رو On قرار میدیم تا در هنگامی که ابزارمون فعال باشه Onرو نشون بده،خاصیت بعدی android:textOff هست مقدار این خاصیت رو هم Off قرار میدیم تا در وقتی که ابزارمون غیرفعال شد گزینه Off رو نماشی بده.بعد از قراردادن توگل باتن بر روی لایمون یدونه دکمه هم بهش اضافه میکنیم تا وختی روش کلیک کردیم فعال یا غیر فعال بودنه توگل باتن رو نمایش بده. کدهای کامل قسمت 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" >

<ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:textOn="On"
android:textOff="Off" />

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/toggleButton1"
android:text="Nemayesh" />

</RelativeLayout>

   الان ممکنه برای خیلی از دوستان سوال بشه که خاصیت android:layout_below کارش چیه:این خاصیت به دکمه دستور میده تا در قسمت زیرین توگل باتن قراربگیره.الان که لایه برنامه خودمون رو کامل کردیم میریم به قسمت MainActivity و کدهای جاوای برنامه مون رومینویسم،

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


final ToggleButton tgl = (ToggleButton) findViewById(R.id.toggleButton1);

Button btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

StringBuffer message_output = new StringBuffer();

message_output.append("وضعیت توگل باتون ").append(tgl.getText());

Toast.makeText(MainActivity.this, message_output.toString(),  Toast.LENGTH_SHORT).show();


}
});
}
}

 دستور StringBuffer مقدار توگل باتن رو میگیره  و میفرسته به توست برای نمایش به کاربر.الان میتونید برنامه که ساختید رو اجرا کنید و با نحوه کارکردش اشنا بشید.

دانلود فایل Apk پروژه توگل باتن                               دانلود سورس پروژه توگل باتن

طراحی چهره آنلاین(با کلیک روی عکس وارد سایت شوید )

 

طراحی لوگوی آنلاین(با کلیک روی نمونه ی لوگو وارد سایت شوید )

 

نقاشی جالب آنلاین با افکت های عالی (با کلیک روی نمونه ی لوگو وارد سایت شوید )

 

گیم جذاب و عالی اذیت جری توسط تام  (با کلیک روی نمونه ی لوگو وارد سایت شوید )

به نام خدا.در این جلسه می خواهیم با سیک بار (SeekBar) در برنامه نویسی اندروید اشنا بشیم،در مواقعی که داریم یک برنامه اندرویدی تولید میکنیم نیاز میشه که اندازه فونت و یا اندازه تصویر و صدای محیطی برنامه تغییر داده بشه در این مواقع  نیاز برنامه نویس به سیک بار احساس میشه.در این اموزش ما با نحوه ایجاد و استفاده مناسب از SeekBar رو به شما یاد خواهیم داد.

کار با سیک بار در اندروید

برای شروع کار یک پروژه جدید به نام Seekbar ایجاد میکنیم و بروی لایه برنامه از دو ابزار استفاده خواهیم کرد.یکی از این ابزار ها Seekbar و دیگری نیز یک تکست ویو TextVIew خواهد بود.وظیفه که برای سیک بار تعریف می کنیم اینه که:وقتی نوار سیک بار رو حرکت میدیم اندازه فونت و یا اندازه تکست ویو تغییر پیدا کنه.(در زیر کدهای بخش 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" >



<SeekBar
android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="43dp" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/seekBar1"
android:layout_centerHorizontal="true"
android:layout_marginTop="108dp"
android:text="Learn Android UnitAzad.Ir" />

</RelativeLayout>

بعد از تکمیل کردن لایه برنامه میریم سراغ کد نویسی جاوا و فایل MainActivity.java.در این بخش ابتدا تکست ویو (TextView) و سیک بار(Seekbar) رو با دستور فینال معرفی می کنیم تا مقدارشون ثابت بشه.سپس به سیک بار یک رویداد SeekBarChangeListener اضافه میکنیم تا وقتی  که سیک بار شروع به کار کرد اندازه تکست ویو رو تغییر بده.بعد از معرفی رویداد باید یک مقدار عددی به برنامه اضافه کنیم تا اندازه فونت رو از 0 تا 30 برای ما تغییر بده.در ادامه باید یک شرط به سیک بار اضافه کنیم،که به برنامه بگه (اگر مقدار int کوچکتر از30 بود  کارهای خاصی رو برای ما انجام بده).این کار خواص میتونه هر دستوری باشه مثلا یک توست(Toast).در این جا ما داخل شرط گفتیم که فونت سایز رو 30 قرار بده و هنگامی که سیک بار درحال حرکت هست مقدار اون رو با فونت سایز هماهنگ کن.(در زیر کدهای کامل بخش MainActivity.java رو می بینید.) 

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//معرفی تکست ویو همراه با فینال تا مقدارش ثابت بشه
final TextView t1=(TextView) findViewById(R.id.textView1);

//معرفی سک بار همراه با فینال تا مقدارش ثابت بشه
final SeekBar sk=(SeekBar) findViewById(R.id.seekBar1);

//معرفی یک رویداد چنج لیسنر برای سیک بار
sk.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

//تعریف یک متغییر عددی
int fontSize=0;

@Override
//معرفی رویداد توقف
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
//معرفی یک شرط برای رویداد توقف
if(fontSize<30)
{
//مقدار دهی برای فونت سایز تا عدد 30
fontSize=30;
//ست کردن سیک بار با مقدار int
sk.setProgress(fontSize);
}
}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}

@Override
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {
// TODO Auto-generated method stub

//برابر کردن مقدار سیک بار با فونت سایز
fontSize=progress;

//و در اخر ست کردن مقدار فونت سایز بروی تکست ویو
t1.setTextSize(fontSize);
}
}); 
}
}

حال پروژه تمام شده می توانید برنامه خود را اجرا کنید

دانلود فایل Apk پروژه سیک بار                      دانلود سورس پروژه سیک بار

ر این اموزش می خواهیم با نحوه پخش یک فایل ویدیوی در برنامه نویسی اندروید اشنا بشیم.در این مبحث شما با پخش یک فایل ویدیویی به صورت کامل و افلاین اشنا میشید و میتونید در برنامه هاتون ازش استفاده کنید.در مراحل بالاتر و پیشرفته تر با نحوه پخش فایل صوتی و ویدیویی به صورت انلاین اشنا خواهید شد.یادتون باشه که حتما یک پوشه raw برای قرار گرفتن فایل ویدیوی در فولدر res درست کنید.

یک پروژه جدید ایجاد کنید و اسمش رو Webview قرار بدین ،از قسمت پالت ها ابزار videoview را بروی لایه برنامه بکشید،سپس مقدار layout_width رو fill_parent تا عرض صفحه برنامه رو پوشش بده و مقدار layout_height رو wrap_content قرار بدین تا ابزار خودش رو با ارتفاع فایل ویدیوی هماهنگ کنه.

کار با ویدیو وب

کدهای کامل بخش 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" >

<VideoView
android:id="@+id/videoView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />

</RelativeLayout>

 بعد از تکمیل کردن لایه برنامه میریم به بخش MainActivity.java تا کدهای مربوط به جاوای برنامه رو بنویسیم.اولین کاری که باید انجام بدیم اینکه ابزار VideoView رو معرفی و نام گذاری کنیم،در مرحله دوم یک رشته (String) تعریف میکنیم و اسمش رو Buffer قرار میدیم،بعد از نام  گذاری رشته محل قرار گیری فایل ویدیوی رو مینویسیم همراه با نام پکیج برنامه.در مرحله سوم یک Uri معرفی میکنیم تا اطلاعات رسته رو بگیره و به ویدیو ویو بفرسته جهت نمایش.در مرحله چهارم VideoView رو به دستور Uri ست میکنیم.در مرحله پنجم که مرحله اخر هست با دستور vv.start() ویدیو ویو رو استارت میزنیم تا شروع کنه به پخش.در زیر کدهای کامل بخش MainActivity.java رو میتونید ببنید.

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);



VideoView vv = (VideoView) findViewById(R.id.videoView1);


String Buffer = "android.resource://com.example.videofristpge/"+R.raw.r;
Uri uri = Uri.parse(Buffer);
vv.setVideoURI(uri);
vv.start();
}

دانلود فایل Apk پروژه ویدئو ویو                       دانلود سورس پروژه ویدئو ویو

به نام خدا.امروز میخواهیم کار با دروبین ها رو در برنامه نویسی اندروید شروع کنیم،کار با دوربین ها (Camera) در اندروید خیلی ساده است در این پروژه باهم با نحوه کارکردن با دوربین در محیط برنامه نویسی و کدنویسی اون بیشتر اشنا میشیم.درو شروع کار یک دکمه بروی لاهی خودم می کشم،وظیفه این دکمه فعال کردن دوربین با استفاده از اینتنت هست. بعد از قرار دادن دکمه یک Imageview بروری لایه خودم قرار میدیم و مقدار layout_width رو fill_parent قرار دادم تا عرض نمایشگرعکس کامل باشه و مقدار layout_height رو match_parent قرار دادم تا خودش رو با دکمه و لایه مچ کنه.سوالی که ممکنه برای دوستان پیش بیاد اینکه خاصیت layout_below کارش چیه؟این خاصیت وظیفه داره که Imageview رو در زیر باتن قرار بده، میبینید که ادرس باتن هم در مقدار دهی خاصیت نوشته شده.در فرهنگ لغت below به معنی زیر و پایین است.

کار با دوربین در اندروید

کدهای کامل بخش 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/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="27dp"
android:text="aks ghreftan" />

<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_below="@+id/button1"
android:layout_centerHorizontal="true"
android:layout_marginTop="14dp" />

</RelativeLayout>

 بعد از طراحی لایه برنامه میریم به بخش MainActivity.java و نوشتن کدهای جاوای برنامه.میبینید که من در بالای متد onCreate و در قسمت شروع دستور public class MainActivity extends Activity یک مقدار ثابت برای دوربین تعریف کردم تا هر وختی که اکتویتی بالا اومد برنامه اماده اجرا بشه.بعد ایمیج ویو (Imageview) رو به صورت گلوبال (global)  تعریف کردم تا در همه قسمت های برنامه مورد استفاده باشه.کدهای کامل بخش MainActivity.java

public class MainActivity extends Activity {

private static final int CAMERA_REQUEST = 1;

ImageView image;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button photoButton = (Button) findViewById(R.id.button1);
image = (ImageView) findViewById(R.id.imageView1);

photoButton.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub


Intent cameraIntent = new  Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);

}
});

}

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
if (requestCode == CAMERA_REQUEST) { 
Bitmap photo = (Bitmap) data.getExtras().get("data"); 
image.setImageBitmap(photo); 

} 
}

 می بینید که دکمه برنامه رو معرفی کردم بعد از اون هم ایمیج ویو.در ادامه نوبت به نوشتن یک رویداد کلیک برای دکمه است که با دستور setOnClickListener  کاملش میکنم.در قسمت بعد نوشتن اینتنت هست که اطلاعات رو از برنامه بگیره و به MediaStore بفرسته، بعد با دستور startActivityForResult اینتنت رو به دوربین ارجا میدیم تا فعال بشه.سپس یک متد جیدی ایجاد میکنیم به اسم onActivityResult تا اطلاعاتی رو که از دوربین میگیره رو به فایل تصویری تبدیل کنه و در Imageview نمایش بده.

دانلود فایل Apk پروژه دوربین                      دانلود سورس پروژه دوربین

سلام به برنامه نویسان اندرویدی،در این مبحث می خواهیم یک اموزش ساده اما بسیار مفید و کاربردی رو با هم دیگه شروع کنیم،می خواهیم برنامه ای رو ایجاد کنیم که در اون بتونیم از اکتیوتی اول به اکتیوتی دوم بریم در واقع می خواهیم با نحوه کار اینتنت (Intent) در برنامه اندروید اشنا بشیم.اینتنت ها وظیفه ای این رو دارند که مقدار اطلاعاتی رو از مبدا بگیرند و به مقصد بفرستند حالا این اطلاعات میتونه یک پیام باشه و یا یک رویداد....در مراحل بعدی اموزش برنامه نویسی اندروید با  intent های بسیار پرکاربرد اشنا خواهیم شد.

رفتن از یک اکتیویتی به اکتیویتی دیگر

با پیش زمینه ذهنی  که از اینتنت ها پیدا کردیم ،میریم به محیط برنامه نویسی و به صورت عملی با Intent و نحوه کارکردش بیشتر اشنا بشیم.من یک پروژه جدید ایجاد کردم به نام Intent_Activity و در لایه اکتیوتی اولیه خودم یک دکمه (Button) قرار دادم به نام barge dovoom وظیفه ای که ما به دکمه میدیم اینکه، وقتی بروی دکمه کلیک کردیم برنامه به اکتیوتی دوم بره و مطلبی رو که در اکتیوتی دوم قرار خواهیم داد به ما نشون بده.در زیر کدهای بخش 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/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="36dp"
android:text="barge dovoom " />

</RelativeLayout>

 برای ساختن اکتیوتی دوم کار خیلی سختی پیش رو نداریم فقط کافی بروی دکمه ای که در تصویر زیر با رنگ قرمز  مشاهده میکنید کلیک کنید و اکتویتی جدیتون رو بسازید.محیط ایکلیپس با این کار کار ساختن یک اکتیوتی جدید رو بسیار ساده تر کرده طوری که دیگه نیاز نیست اکتیوتی جدیمون رو در بخش manifest معرفی کنیم چون به صورت خودکار ایجاد شده.بعد از کلیک بروی ابزار ساخت اکتیوتی جدید یک صفحه جدید باز میشه که از شما نام اکتیوتی جدید رو می خواهد. در این بخش تنها کاری که میکنید نام Activity Name رو به activity_intent__activity2تغییر می دین و بعد از نام گذاری Finishرو میزنیم. به تصاویر و کدهای بخش لایه اکتویتی دوم توجه کنید.

رفتن از یک اکتیویتی به اکتیویتی دیگر

کد های برگه دوم

<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=".Bargedovoom" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="150dp"
android:text="UnitAZAD.iR"
android:textSize="30sp" />

</RelativeLayout>

بعد از ساختن اکتویتی جدید یک تکست ویو بروی لایه اکتویتی دوم قرار میدیم و یک متنی رو میدیم بهش (هر متن دلخواهی).میریم به اکتیوتی اول و شروع به کدنویسی میکنیم.دستور startActivity شروع اکتویتی جدیدی رو به اینترنت میفرسته و اینترنت از اکتویتی اولی به دومی میره با توجه به ادرسی که دادیم.کد های کامل برگه اول یا اکتیویتی اول  بخش MainActivity.java:

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


Button btn1 = (Button) findViewById(R.id.button1);
btn1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

//شروع اکتویتی و ایحاد یک اینتنت از اکتیوتی اولی به اکتیوتی دومی
startActivity(new Intent(MainActivity.this , Intent_Activity2.class));
}
});
}
}

دانلود فایل Apk پروژه اینتنت اکتیویتی                       دانلود سورس پروژه اینتنت اکتیویتی

سلام به همه دوستان،در این جلسه میخواهیم با ریتینگ بار (Rating bar) در اندروید با هم صحبت کنیم.یه وقت های ما بسته به نیاز برنامه ای که طراحی میکنیم نیاز داریم تا به اعضا و یا به ابزار خاصی یک رتبه و یا امتیازی داده باشه در اینجور مواقعی ریتینگ بار به کمک برنامه نویس میاد.در این اموزش با نحوه ایجاد ریتینگ بار و گرفتن اطلاعات از اون اشنا میشیمو در مراحل بالاتر با نحوه شخصی کردن اون بیشتر اشنا می شویم(ریتینگ در لغت به معنی:درجه بندی،رتبه بندی است) با این توصیفات و اشنایی با نوع استفاده از ریتینگ بار میریم سراغ محیط برنامه نویسی تا با نحوه ایجاد و نمایش رتبه بندی بیشتر اشنا بشیم.

کار با ریتینگ بار در اندروید

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.Toast;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//معرفی ریتینگ بار
final RatingBar ratbar = (RatingBar) findViewById(R.id.ratingBar1);

//معرفی دکمه
Button button = (Button) findViewById(R.id.button1);

//تعریف رویداد دکمه
button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

//معرفی یک استرینگ برای گرفتن اطلاعات از ریتینگ بار
String rating=String.valueOf(ratbar.getRating()); 

//معرفی توست و گرفتن اطلاعات از استرینگ و نمایش به کابر
Toast.makeText(getApplicationContext(), rating, Toast.LENGTH_LONG).show(); 

}
})
;
}
}

دانلود فایل Apk پروژه ریتینگ بار                                 دانلود سورس پروژه ریتینگ بار

امروز می خواهیم با اسکرول ویو افقی کار کنیم(HorizontalScrollView) .در جلسه قبل با اسکرول ویو اشنا شدیم که در حالت عمودی استفاده می شد ولی اسکرول ویو که در این جلسه توضیح میدیم به صورت افقی مورد استفاده قرار میگیره و کار کردش هیچ تفاوتی با اسکرول ویو عمودی نداره.من یک پروژه به اسم HorizontalScrollView ساختم و از قسمت پالت ها در پوشه کامپوزیت composite ابزار HorizontalScrollView رو انتخاب و به لایه خودم کشیدم و در مرکز لایه قرار دادم تا در هم در حالت عمودی و هم افقی به یک صورت نمایش داده بشه.من مقدار عرض و ارتفاع اسکرول ویو و لایه مربوط به اون رو در حالت wrap_content قرار دادم تا خودش رو با ابزار های که بر روی اسکرول ویو قرار میگیره هماهنگ کنه.بعد از اینکه مقدار عرض و ارتفاع رو تعیین کردیم مقدار android:orientation رو هم horizontal قرار دادم تا لایه در حالت افقی قرار بگیره.

کار با اسکرول ویو افقی

دانلود فایل Apk پروژه اسکرول ویو افقی                        دانلود سورس پروژه اسکرول ویو افقی

سلام خوش اومدین به مبحث جدید برنامه نویسی اندروید.امروز میخاهیم در مورد گرید ویو(Gridview)در اندروید صحبت کنیم،گرید ویو در اندروید مثل لیست ویو هست ولی با این تفاوت که در لیست ویو ما به صورت یک بعدی میتوینم مطالب و اطلاعات رو به کاربر نشون بدیم ولی در گرید ویو اینگونه نیست و میتونیم به صورت دئ بعدی و در حالت گرید نمایش بدیم.در این اموزش ما با نحوه ساخت گرید ویو و مقدار دهی بهش اشنا میشیم.من یک پروژه جدید به اسم Gridview ساختم و از قسمت پالت ها در پوشه کامپوزیت (composite) ابزار Gridview رو انتخاب کردم و در مرکزیت لایه خودم قرار دادم .یه نگاهی به خواص گرید ویو بندازیم

کار با گرید ویو در اندروید

می بینیم که یک خاصیت جدید در گرید ویو  به اسم android:numColumns هست این خاصیت تعداد ستون های گرید ویو رو مشخص میکنه و میتونه هم به صورت سفارشی باشه هم میتونه به صورت Auto_fit.در حالت سفارشی میتونه یه مقدار مدنظر بهش بدیم مثلا 3 یا 4 ولی در حالت auto_fit گرید ویو به صورت اتومتیک ستون ها رو میچینه.میخواهیم باهم چندتا خاصیت جدید به گرید ویو مون اضافه کنیم یکی از این خاصیت ها android:columnWidth هست،این خاصیت فاصله ستون ها از همدیگه رو مشخص میکنه و مقدارش هم با dp محاسبه میشه مثلا 100dp. خاصیت بعدی android:stretchMode هست این خاصیت یک حالت کششی به گرید ویو میده که  بتونه خودش رو ستون ها(column) هماهنگ کنه و مقدارش رو هم میتونه از  android:columnWidth بگیره.خاصیت بعدی که در همه ابزار های اندروید میشه ازش استفاده کرد android:gravity هست که محل قرار گیری ابزار بر روی لایه رو مشخص میکنه،که میتونه مقداری مثل center,top,left,rigth داشته باشه.در زیر کدهای کامل گرید ویو رو میبینید.

 <GridView
android:id="@+id/gridView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:columnWidth="100dp"
android:gravity="center"
android:stretchMode="columnWidth"
android:numColumns="auto_fit" >
</GridView>

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

package com.appinapps.gridview;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.Toast;

public class MainActivity extends Activity {
	
	String [] web = {"UnitAzad" , "MahdiAmini" , "Developer" , "Learn" , "Graphic" , "FreeDownload" , "Android"};
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		//معرفی گرید ویو از لایه
		GridView grid = (GridView) findViewById(R.id.gridView1);
		
		//معرفی اداپتر 
		ArrayAdapter adapter = new ArrayAdapter(this,
				android.R.layout.simple_list_item_1, web);
		grid.setAdapter(adapter);
		
	  }
		
	
	

	@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;
	}

}

الان میتونید برنامه که ساختید رو اجرا کنید و نحوه کارش رو ببنید.موفق باشد

دانلود فایل Apk پروژه گرید ویو                                        دانلود سورس پروژه گریدویو

به نام خدا،در این جلسه می خواهیم با تایپ فیس(Typeface) کار کنیم.در این اموزش ما با نحوه تغییر فونت پیش فرض در برنامه نویسی اندروید اشنا می شیم و می تونیم که در برنامه های که طراحی میکنیم از فونت زیبا استفاده کنیم.

کار با فونت و تغییر فونت در اندروید

برای شروع کار یک پروژه جدید ایجاد می کنیم و بروی لایه دوتا تکست ویو قرار میدیم.قبل از رفتن به بخش کد نویسی جاوا و یا MainActicity.java باید یک پوشه در فولدر assets ایجاد کنیم به اسم fonts تا فونت های دلخواهمون رو داخلش کپی کنیم.

ما کپی کردیم نام فونت ها را به en.ttf و fa.ttf تغییر دادیم دقت فرمائید fa.ttf فونت (ب یکان) است که به این نام تغییر دادیم و فونت دیگر یعنی en.ttf فونت (FREESCPT.TTF) است که به این نام تغییر دادیم.

  تنها مسئله ای که در کپی کردن فونت ها باید توجه کنید اینکه که اسم و فرمت فونت مدنظرتون با حروف کوچک نوشته شده باشه.

کد های قسمت 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" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="101dp"
android:layout_marginTop="66dp"
android:text="UnitAzad.Ir"
android:textAppearance="?android:attr/textAppearanceLarge" />/>

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="41dp"
android:text="آموزش برنامه نویسی اندروید"
android:textAppearance="?android:attr/textAppearanceLarge" />

/>

</RelativeLayout>

کدهای کاملا بخش جاوا MainActivity :

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


TextView tven = (TextView)findViewById(R.id.textView1);
TextView tvfa = (TextView)findViewById(R.id.textView2);


Typeface textfont = Typeface.createFromAsset(getAssets(),"fonts/en.ttf");
Typeface textfontfa = Typeface.createFromAsset(getAssets(),"fonts/fa.ttf");

tven.setTypeface(textfont);
tvfa.setTypeface(textfontfa);

}
}

 دانلود فایل Apk پروژه فونت و تغییر فونت           دانلود سورس برنامه فونت و تغییر فونت