انجمن سایت کلیدستان



کمی حرفه ای تر کد بزنیم(آموزش)زمان کنونی: ۱۳۹۵/۰۹/۱۳، ۱۲:۳۰ ق.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: داش بهروز
آخرین ارسال: kama90
پاسخ 3
بازدید 837

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کمی حرفه ای تر کد بزنیم(آموزش)

کمی حرفه ای تر کد بزنیم(آموزش)

#1
دوستان تصمیم گرفتم  تاجایی که سوادم اجازه میده و تجربه هایی که داشتم نکاتی رو  بگم که به بهبود ساختار و عملکرد برنامه کمک کنه و تاحدی یه دیدی بهتون بده که بهتر و خلاصه انعطاف پذیر تر و.... کد بزنید.

مبحث طراحی UI:

خیلی از دوستان در یک صفحه خودشون چندین ویو  و لی اوت های مختلف دارند ،این تعداد در بعضی موارد اینقدر زیاد میشه که شخص بعضی وقتها سردر گم میشه .
در این موارد بهتره از دستور include استفاده کنید،که خیلی دوستان متاسفانه استفاده نمیکنند.

کد زیر رو ببینید

کد پی‌اچ‌پی:
<FrameLayout 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:background="#04111e"
    
>
  <
ImageView
     android
:id="@+id/ivAnimation"
     
android:layout_width="wrap_content"
     
android:layout_height="wrap_content"
     
android:layout_gravity="center"     
     
android:contentDescription="Animation" />
   


<
LinearLayout  // این لایه مدنظر هست

        
android:id="@+id/Linear1"
     
android:layout_width="wrap_content"
    
android:layout_height="wrap_content"
    
android:orientation="vertical">
<
ImageView
    android
:id="@+id/imag_counter1"
    
android:layout_width="wrap_content"
    
android:layout_height="wrap_content"
    
android:src="@drawable/audio_ago" />
<
TextView 
    android
:id="@+id/text_counter1"
    
android:layout_width="wrap_content"
    
android:layout_height="wrap_content"
    
android:text="a"/>


<
ImageView
     android
:id="@+id/imag_counter2"  
    
android:layout_width="wrap_content"
    
android:layout_height="wrap_content"
    
android:src="@drawable/ic_launcher" />
<
TextView 
   android
:id="@+id/text_counter2"
    
android:layout_width="wrap_content"
    
android:layout_height="wrap_content"
    
android:text="a"/>


<
ImageView
    android
:id="@+id/imag_counter3"  
    
android:layout_width="wrap_content"
    
android:layout_height="wrap_content"
    
android:src="@drawable/ic_launcher" />
<
TextView 
  android
:id="@+id/text_counter3"
    
android:layout_width="wrap_content"
    
android:layout_height="wrap_content"
    
android:text="a"/>


<
ImageView
    android
:id="@+id/imag_counter4"  
    
android:layout_width="wrap_content"
    
android:layout_height="wrap_content"
    
android:src="@drawable/ic_launcher" />
<
TextView 
    android
:id="@+id/text_counter4"
    
android:layout_width="wrap_content"
    
android:layout_height="wrap_content"
    
android:text="a"/>

</
LinearLayout>

// سایر لایه ها

</FrameLayout

همون طور که میبینید در صفحه بالا یک FramLayout
وجود دارد که درون آن چندین لایه دیگر .که یکی از لایه ها LinearLayout  است .
ساختار بالا طوری هست که خیلی سخت میشه روی آن ویرایش انجام داد،به عبارتی خیلی کدها خوانا نیست.


در این موارد بهتر است ازinclude  استفاده کنید.
طریقه به این صورت هست.
تمامی لایه مورد نظر (در اینجا LinearLayout ) رو پاک میکنیم و درون یک فایل جدید Xml قرار میدیم.(مثلا custom.xml) و کافیه حالا این صفحه رو درون صفحه اصلی ارجاع بدیم.

کد پی‌اچ‌پی:
<include
   
android:layout_width="fill_parent"
   
android:layout_height="wrap_content"
   
layout="@layout/custom" /> 

یعنی صفحه اصلی یک صفحه دیگر رو درون خودش داره.حالا با این کار کدها به صورت زیر تبدیل میشه

نتیجه:

کد پی‌اچ‌پی:
<FrameLayout 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:background="#04111e"
    
>
  <
ImageView
     android
:id="@+id/ivAnimation"
     
android:layout_width="wrap_content"
     
android:layout_height="wrap_content"
     
android:layout_gravity="center"     
     
android:contentDescription="Animation" />
   
<include 
android:layout_width="fill_parent"
android:layout_height="wrap_parent"
layout="@layout\custom"
/>

// سایر لایه ها

</FrameLayout

همون طور که میبینید کدها خیلی جمع و جور تر شد.
این روش جایی که خیلی استفاده میشه که شما مثلا میخوایید یه الگو رو درتمام صفحه ها تون  اجرا کنید(مثل نوار اکشن و...) این روش خیلی کار برد داره در این موارد.
 
پاسخ
 سپاس شده توسط admin ، دیب دمینی ، kama90 ، so2011 ، davood_amega

کمی حرفه ای تر کد بزنیم(آموزش)

#2
سلام ممنون که تجربه هاتون رو رایگان در اختیارمون قرار میدید


 
پاسخ

کمی حرفه ای تر کد بزنیم(آموزش)

#3
عالی بود.یه جور شبیه فراخوانی header.php ,footer.phpو.. در وردپرسه.بازم از این مطالب بزار.
پاسخ
 سپاس شده توسط داش بهروز


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)