PDA

View Full Version : طرحی UI



با معرفت
یک شنبه 12 دی 1395, 13:32 عصر
سلام
می خوام menudrawerکه ساختم در تمام صفحات دسترسی داشتم باشم مثل برنامه حسابداری پارمیس ممنون میشم راهنمایی بفرمایید چکار باید بکنم ؟

suraty
یک شنبه 12 دی 1395, 22:24 عصر
سلام،
یک راه استفاده از فرگمنت ها و لود هر اکتیویتی به عنوان فرگمنت در آن است.


Fragment fragment = new Fragment();
fm.beginTransaction().add(R.id.frame, fragment, "MY_FRAGMENT").commit();

با معرفت
دوشنبه 13 دی 1395, 09:45 صبح
پس بااین اوصاف باید کد های منو رو در تمام صفحات تکرار کنم درسته ؟

spiderman200700
دوشنبه 13 دی 1395, 14:01 عصر
نه. لازم نیست در تمام صفحات تکرار کنید.
ما توی شی گرایی یه مفهومی داریم به نام ارث بری که اگه با این مفهوم آشنا باشید، میدونید که باید یه کلاس اکتیویتی به هر نامی (مثلا BaseActivity) ایجاد کنید و کد هایی که قراره در همه اکتیویتی ها تکرار بشه رو در این اکتیویتی قرار میدید و بقیه اکتیویتی ها از این اکتیویتی ارث بری می کنن و اینجوری میتونید با یک بار کد نوشتن در همه اکتیویتی ها به drawer دسترسی داشته باشید.

با معرفت
دوشنبه 13 دی 1395, 17:06 عصر
ببخششید درست متوجه نشدم اگه ممکنه میشه بیشتر توضیح بدید

spiderman200700
دوشنبه 13 دی 1395, 17:52 عصر
به این مثال نگاه کنید:

class BasActivity extends Activity{
protected Fragment drawer;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// در این اکتیویتی شما باید drawer را ایجاد و آماده کنید...
}
}

class FirstActivity extends BasActivity{

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// do something...

drawer.someMethode... // در این اکتیوی شما به متغییر drawer دسترسی دارید
}
}

class SecondActivity extends BasActivity{

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// do something...

drawer.someMethode... // در این اکتیوی هم شما به متغییر drawer دسترسی دارید
}
}



امیدوارم متوجه شده باشید. البه کمی باید در مورد مفهوم ارث بری مظالعه کنید.