SASAN_AH

آموزش ساخت Sliding menu بدون نياز به هيچ چيز !

6 ارسال در این موضوع قرار دارد

[align=center]سلام[/align]

[align=center]اين اموزش ساخت Sliding menu هست [/align]

[align=center]البته بدون نياز به هيچ گونه كتابخانه ديگر ![/align]

[align=center]اول [/align]

[align=center]activity_main[/align]

           android:layout_width="match_parent"           android:layout_height="match_parent"           android:orientation="vertical" >                                      android:id="@+id/menuPanel"               android:layout_width="wrap_content"               android:layout_height="match_parent"               android:background="@drawable/gray_bg"               android:gravity="right"               android:orientation="vertical" >                                   android:id="@+id/menu_title_1"                   android:layout_width="fill_parent"                   android:layout_height="50dp"                   android:layout_alignParentTop="true"                   android:layout_marginLeft="0dp"                   android:background="#353535"                   android:gravity="center_vertical"                   android:paddingLeft="15dp"                   android:text="اموزش  -SASAN_AH"                   android:textColor="@android:color/white" >                                                  android:id="@+id/menu_item_divider_1"                   android:layout_width="fill_parent"                   android:layout_height="0.5dp"                   android:layout_below="@+id/menu_title_1"                   android:layout_marginLeft="0dp"                   android:layout_marginRight="0dp"                   android:background="#b5b5b5" />                                   android:id="@+id/menu_item_1"                   android:layout_width="fill_parent"                   android:layout_height="50dp"                   android:layout_below="@+id/menu_item_divider_1"                   android:layout_marginLeft="15dp"                   android:gravity="center_vertical"                   android:text="TXT1" >                                                  android:id="@+id/menu_item_divider_2"                   android:layout_width="fill_parent"                   android:layout_height="0.5dp"                   android:layout_below="@+id/menu_item_1"                   android:layout_marginLeft="5dp"                   android:layout_marginRight="5dp"                   android:background="#b5b5b5" />                                   android:id="@+id/menu_item_2"                   android:layout_width="fill_parent"                   android:layout_height="50dp"                   android:layout_below="@+id/menu_item_divider_2"                   android:layout_marginLeft="15dp"                   android:gravity="center_vertical"                   android:text="TXT"                   >                                                     android:id="@+id/slidingPanel"               android:layout_width="fill_parent"               android:layout_height="fill_parent"               android:background="@android:color/white"               android:gravity="left"               android:orientation="vertical" >                                   android:id="@+id/dividerHeaderBottom"                   android:layout_width="fill_parent"                   android:layout_height="1dp"                   android:background="#414141" />                                   android:id="@+id/header"                   android:layout_width="match_parent"                   android:layout_height="45dp"                   android:background="@color/whitec" >                                           android:id="@+id/buttonback"                       android:layout_width="40dp"                       android:layout_height="40dp"                       android:layout_alignBottom="@+id/buttonperson"                       android:layout_alignParentTop="true"                       android:layout_marginRight="14dp"                       android:layout_toLeftOf="@+id/buttonperson"                       android:background="@drawable/back" />               android:id="@+id/menuViewButton"               android:layout_width="70dip"               android:layout_height="70dip"               android:layout_alignParentRight="true"               android:layout_alignParentTop="true"               android:background="@drawable/selector"               android:clickable="true"               android:contentDescription="@string/app_name"               androidrc="@drawable/icon_menu"               android:visibility="visible" />                                 

,

[align=center]MainActivity.java[/align]

import android.os.Bundle;import android.app.Activity;import android.util.DisplayMetrics;import android.view.View;import android.view.View.OnClickListener;import android.view.animation.Animation;import android.view.animation.TranslateAnimation;import android.widget.FrameLayout;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.RelativeLayout;import android.widget.ListView;public class MainActivity extends Activity {//Declareprivate LinearLayout slidingPanel;private boolean isExpanded;private DisplayMetrics metrics;private ListView listView;private RelativeLayout headerPanel;private RelativeLayout menuPanel;private int panelWidth;private ImageView menuViewButton;FrameLayout.LayoutParams menuPanelParameters;FrameLayout.LayoutParams slidingPanelParameters;LinearLayout.LayoutParams headerPanelParameters ;LinearLayout.LayoutParams listViewParameters;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//Initializemetrics = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metrics);panelWidth = (int) ((metrics.widthPixels)*0.75);headerPanel = (RelativeLayout) findViewById(R.id.header);headerPanelParameters = (LinearLayout.LayoutParams) headerPanel.getLayoutParams();headerPanelParameters.width = metrics.widthPixels;headerPanel.setLayoutParams(headerPanelParameters);menuPanel = (RelativeLayout) findViewById(R.id.menuPanel);menuPanelParameters = (FrameLayout.LayoutParams) menuPanel.getLayoutParams();menuPanelParameters.width = panelWidth;menuPanel.setLayoutParams(menuPanelParameters);slidingPanel = (LinearLayout) findViewById(R.id.slidingPanel);slidingPanelParameters = (FrameLayout.LayoutParams) slidingPanel.getLayoutParams();slidingPanelParameters.width = metrics.widthPixels;slidingPanel.setLayoutParams(slidingPanelParameters);listView = (ListView) findViewById(R.id.list);listViewParameters = (LinearLayout.LayoutParams) listView.getLayoutParams();listViewParameters.width = metrics.widthPixels;listView.setLayoutParams(listViewParameters);//Slide the PanelmenuViewButton = (ImageView) findViewById(R.id.menuViewButton);menuViewButton.setOnClickListener(new OnClickListener() {public void onClick(View v) {if(!isExpanded){isExpanded = true;//Expandnew ExpandAnimation(slidingPanel, panelWidth,Animation.RELATIVE_TO_SELF, 0.0f,Animation.RELATIVE_TO_SELF, 0.75f, 0, 0.0f, 0, 0.0f);}else{isExpanded = false;//Collapsenew CollapseAnimation(slidingPanel,panelWidth,TranslateAnimation.RELATIVE_TO_SELF, 0.75f,TranslateAnimation.RELATIVE_TO_SELF, 0.0f, 0, 0.0f, 0, 0.0f);}}});}}

[align=center] و قسمت هاي مهم انيميشن[/align]

[align=center]CollapseAnimation.java[/align]

public class CollapseAnimation extends TranslateAnimation implements TranslateAnimation.AnimationListener{       private LinearLayout slidingLayout;       int panelWidth;       public CollapseAnimation(LinearLayout layout, int width, int fromXType, float fromXValue, int toXType,               float toXValue, int fromYType, float fromYValue, int toYType, float toYValue) {           super(fromXType, fromXValue, toXType, toXValue, fromYType, fromYValue, toYType, toYValue);           //Initialize           slidingLayout = layout;           panelWidth = width;           setDuration(400);           setFillAfter( false );           setInterpolator(new AccelerateDecelerateInterpolator());           setAnimationListener(this);           //باعث حذف منو باز شده ميشه           LayoutParams params = (LayoutParams) slidingLayout.getLayoutParams();           params.rightMargin = 0;           params.leftMargin = 0;           slidingLayout.setLayoutParams(params);           slidingLayout.requestLayout();                  slidingLayout.startAnimation(this);           //slidingLayout.setBackgroundColor();           //slidingLayout.setBackgroundColor(R.string.white);       }       @Override       public void onAnimationEnd(Animation arg0) {           // TODO Auto-generated method stub       }       @Override       public void onAnimationRepeat(Animation arg0) {           // TODO Auto-generated method stub       }       @Override       public void onAnimationStart(Animation arg0) {           // TODO Auto-generated method stub       }   }

[align=center]ExpandAnimation.java[/align]

public class ExpandAnimation extends TranslateAnimation implements Animation.AnimationListener{       private LinearLayout slidingLayout;       int panelWidth;       public ExpandAnimation(LinearLayout layout, int width, int fromXType, float fromXValue, int toXType,               float toXValue, int fromYType, float fromYValue, int toYType, float toYValue) {           super(fromXType, fromXValue, toXType, toXValue, fromYType, fromYValue, toYType, toYValue);           //Initialize           slidingLayout = layout;           panelWidth = width;           setDuration(400);           setFillAfter( false );           setInterpolator(new AccelerateDecelerateInterpolator());           setAnimationListener(this);           slidingLayout.startAnimation(this);           //slidingLayout.setBackgroundColor(panelWidth);       }       @Override       public void onAnimationEnd(Animation animation) {           // TODO Auto-generated method stub           //ساختن براي راست به چپ يا چپ به راست                   LayoutParams params = (LayoutParams) slidingLayout.getLayoutParams();                   params.leftMargin = panelWidth;                   params.gravity = Gravity.LEFT;                        slidingLayout.clearAnimation();                   slidingLayout.setLayoutParams(params);                   slidingLayout.requestLayout();       }       @Override       public void onAnimationRepeat(Animation animation) {           // TODO Auto-generated method stub       }       @Override       public void onAnimationStart(Animation animation) {           // TODO Auto-generated method stub       }   }

[align=center]اين فايل ها بسازيد و تمام.[/align]

[align=center]راحت تونستيد Siding Menu بسازيد[/align]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

اینم force closeمیده.

[shcode=java]

listView = (ListView) findViewById(R.id.list);

[/shcode]

این چیه؟

ما ک اصلا تو activity_mainلیست ویو نداریم :(؟؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

خب دوست عزيز

اين نمونه كد هست شما كد هاي خودتون رو جايگزين كنيد !!!

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

بله دوست من میدونم ک نمونه کد اما اول باید سر در بیارم ازش تا بتونم تو کد خودم ازش استفاده کنم 

بهرحال ممنون

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

این نیاز به تعریف کردن تو mainfest نداره ؟

احتمالا دلیل فورس کلوز این دوستمون همین نیست ؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

نه

طبق اين اموزش نيازي به تعريف در منيفست نيست

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری