سایر مقالات این دسته
تاریخچه و خصوصیات اندرویداجزای تشکیل دهنده سیستم عامل اندرویدآشنایی با API های اندرویدایجاد،ساخت و اجرای اولین برنامه اندرویدیکار با دکمه ها در اندرویدکار با تکست باکس ها در اندرویدکار با تکست ویو در اندرویدکار با گرید ویو در اندرویدکار با وب ویو در اندرویدکار با اسکرول ویو در اندرویدکار با اسکرول ویو افقیکار با الرت دیالوگ (AlertDialog)در اندرویدکار با ایمیج باتن(Image Button) در اندرویدکار با توگل باتنکار با چک باکس (Checkbox) در اندرویدکار با الرت دیالوگ (AlertDialog)در اندروید قسمت دوکار با ریتینگ بار(Rating bar) در اندرویدرفتن از یک اکتویتی به اکتویتی دیگرکار با نوتیفیکیشن ها (Notifications )در اندرویدکار با صوت در برنامه نویسی اندرویدکار با ویبره(Vibrator) در اندرویدکار با دوربین در اندرویدکار با دوربین در اندرویدکار با ویدیو ویو (VideoView)در اندرویدکار با شبکه وای فای (Wifi)در اندرویدکار با لیست ویو (ListView) در اندرویدکار با سیک بار (SeekBar) در اندرویدکار با دکمه بازگشت در اندرویدکار با AutoCompleteTextView در اندرویدتغییر فونت در اندرویدکار با لایه TableLayout در اندرویدکار با لیست کشویی (Spinner) در اندرویدکار با CalendarView در اندرویدساخت شمارنده در اندرویدکار با title bar در اندرویدکار با منو (Menu)در اندرویدکار با لیست ویو (Listview) قسمت دومطراحی رابط کاربری در اندروید قسمت اولطراحی رابط کاربری در اندروید قسمت دوم(طراحی گرد)کار با استایل در اندرویدکار با لایه AbsoluteLayout در اندرویدطراحی رابط کاربری در اندروید کار با gradientکار با کلیپ بورد(ClipBoard)در اندروید کار با مولتی تاچ(Multitouch ) در اندروید+سورس کدکار با OnLongClick در اندرویدکار با منوی زمینه (ContextMenu ) در اندرویدکار با حرکات (Gesture) در اندرویدکار با (AudioCapture) در اندروید+سورس کدکار با موتور Speech در اندروید + سورسکار با PhoneCall در اندرویدساخت لیست ویو سفارشی در اندروید+سورسساخت Toastسفارشی در اندرویدانتقال برنامه به حافظه sdکار با TextWatcher در اندروید+سورستغییر رنگ محیط Eclipse طراحی رابط کاربری در اندروید کار با Canvasساخت اکشن بار سفارشی در اندروید+سورسساخت الرت دیالوگ سفارشی در اندرویدساخت برنامه نمایش مقدار شارژ باتری در اندرویدایجاد افکت رنگی بروی تصاویر در اندروید+سورسساخت آپشن منوی سفارشی در اندروید+سورسساخت دکمه سه بعدی با Selectorسخنان بزرگان برنامه نويسيوارد كردن پروژه در محيط ايكليپساضافه کردن switch,case به لیست ویوبارش برف بروی تصویر + سورسکار با فیلتر hue رنگی کردن تصویر انتخاب و پخش فایل صوتی از حافظه گوشی+سورساضافه کردن چک باکس به لیست ویوکار با ShelfView یا نمایش کتابخانه ای + سورسکار با TabHost،اضافه کردن تب به برنامه های اندرویدآموزش کامل ساخت اکشن بار سفارشی+سورسساخت برنامه های واکنش گرا(ریسپانسیو) در اندرویدقسمت دوم صفحات 7 اینچ به بالااضافه کردن انیمیشن به دکمه+سورسکار با View Switcher در اندروید + سورسکار با فیلتر Blur Mask + سورسدانلود پک کامل آیکون های طراحی اندرویدکار با sharedPreferences در اندروید+سورسآموزش کار با proguard،محافظت از برنامه اندرویدپخش فایل صوتی (MP3) از ادرس اینترنتی+سورسپخش ویدیو از آدرس اینترنتی(URL) در اندروید+سورسگوشی های و تبلت های مطرح تا چینی به ساده ترین روشپاسخ به رویداد های WebVeiw دسترسی به وب ویو با استفاده از جاوااسکریپتساخت ExpandableListView به ساده ترین شکل+سورسکار با WIFI اکسس+سورسساخت تقویم هجری برای اندروید+سورسapp rateدانلود و نمایش تصویر در ListView+سورسدانلود و نمایش فایل متنی+سورسکار با کلاس های پایه اکتیویتیآینه کردن تصویر+سورسافزودن آیتم منو سفارشی بهActionBar+سورسارسال اطلاعات از دیتابیس به GridView + سورسدسترسی به Api هایREST قسمت اولتغییر فونت لیست ویوفعال سازی و معرفی بخش های Android developer options بخش اول کار با JSON در اندرویدآموزش ساده نصب شبیه ساز اندروید Genymotion

حلقه های تکرار در ++C
1395/11/20

اکشن بار در زامارین
1395/11/13

معرفی وب سرویس ها در زامارین
1395/11/12

عملگرها در زبان ++C
1395/11/06

ایجاد آسان فرم ثبت نام با PHP/MySQL به صورت Ajax
1395/11/06

آموزش کامل ساخت اکشن بار سفارشی+سورس


رضا نقی لو 1394/06/11

به نام خدا،در جلسات قبل در مورد ساخت اکشن بار سفارشی مطالبی رو در سایت قرار دادیم ولی در بازخورد های که از کاربران دریافت کردیم متوجه شدیم که در برخی از گوشی های با صفحات بزرگ نمایش این اکشن بار کامل نیست و به صورت نصفه دیده میشه.به همین دلیل  خواستم یک آموزش جدید و کامل درباره ساخت اکشن بار قرار بدم.قبل از شروع کار باید به این توجه کنیم که اکشن بار سفارشی از اندروید 3 به بعد در اندروید قرار گرفت و در نسخه های قبل تر از 3 ممکنه ارور های رو نمایش بده،خیلی از دوستان در نظرات به این مسئله اشاره داشتند که در اندروید با کمترین SDK مثل 2.2 و یا 2.3 نمیتونند اکشن بار سفارشی رو اعمال کنند و با عدم اجرا شدن برنامه روبرو میشوند..پس باید به این توجه کنیم که در هنگام ایجاد پروژه باید کمترین SDK رو 3 در نظر بگیریم.البته با استفاده از کتابخانه های مثل شرلوک میشه در نسخه های پایین از اکشن بار سفارشی استفاده کنیم،که در آینده اموزش کار با کتابخانه شرلوک در سایت قرار خواهد گرفت.

برای شروع کار یک پروژه جدید ایجاد می کنیم و اسمش رو Custom ActionBar قرار میدیم.بعد ایجاد برنامه یک لایه جدید ایجاد میکنم (با نحوه ساخت کلاس و لایه جدید در این آموزش می تونید اشنا بشید.) و اسمش رو Custom میزاریم.در داخل این لایه از دوتا TextViewبرای نمایش متن در اکشن بارمون استفاده خواهم کرد.(کدها کامل لایه جدید با نام Custom ).

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="vertical" >

<TextView
android:id="@+id/textViewTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="Reza"
android:textColor="@android:color/white"
android:textSize="20dp" />

<TextView
android:id="@+id/textViewTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="online"
android:textColor="#C0C0C0"
android:textSize="15dp" />

</LinearLayout>

بعد از اینکه لایه برنامه رو ایجاد کردیم،میریم سراغ کلاس MainActivity.java و نوشتن کدهای جاوای برنامه.یک کلاس جدید به نام customActionBar ایجاد میکنم تا تغییراتی رو که می خواهیم اشکن بارمون دشته باشه بهش اضافه کنیم.در داخل این کلاس اکشن بار رو با دستور  getActionBar() فعال میکنم در ادامه با استفاده از دستور setBackgroundDrawable رنگ مدنظرمون رو به اکشن بار میدیم،در قدم بعدی یک ایکون با استفاده از setIcon برای اشکن بارمون در نظر می گیریم.سپس با استفاده از LayoutParams یک لایه داینامیک میسازیم و لایه Xml رو بهش اضافه میکنم.و در آخر هم یادتون نره که کلاس ایجاد کرده رو فراخوانی کنید.(کدهای کامل MainActivity.java).

 /*
* آموزش برنامه نویسی به زبان ساده
* آموزش برنامه نویسی اندروید
* Appinapps.com
*/

import android.app.ActionBar;
import android.app.ActionBar.LayoutParams;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.Menu;
import android.view.ViewGroup;

public class MainActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//customActionBar فراخوانی کلاس 
customActionBar();
setContentView(R.layout.activity_main);
}

private void customActionBar() {

//معرفی اکشن بار
ActionBar actionBar = getActionBar();
//ایجاد رنگ دلخواه برای اکسن بار
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#004d40")));
//ایجاد یک ایکون برای اکشن بار
actionBar.setIcon(getResources().getDrawable(R.drawable.ic_launcher));
//نمایش اکشن بار سفارشی
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM |  ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_HOME_AS_UP);



//ایجاد یک لایه داینامیک
LayoutParams layout = new LayoutParams(LayoutParams.FILL_PARENT,  LayoutParams.FILL_PARENT);
//افزودن لایهxml
ViewGroup actionBarLayout = (ViewGroup)  getLayoutInflater().inflate(R.layout.custom, null);

//اضافه کردن حالت نمایش جدید(سفارش) به اکشن بار
actionBar.setCustomView(actionBarLayout, layout);

}




@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;

} 

}

سورس کامل این آموزش در فایل ضمیمه قرار گرفت.موفق باشید...

فایلهای ضمیمه
توجه! برای مشاهده فایلهای ضمیمه با ید وارد سایت شوید
درباره نویسنده
admin2
رضا نقی لو
androiddev60@gmail.com
نظرات شما
نظر جدید
    User name
    ناشناس
    سلام خسته نباشید سمت چپ این اکشن بار آیکون برنامه و یک آیکون مانند فلش هست چجوری میشه این ها رو حذف کرد و یا بگی که قتی روش کلیک شد یه اتفاقی بیفته ممنون
    1395/07/04 5:40 PM