gilas1368
شنبه 25 بهمن 1393, 17:27 عصر
سلام به همه دوستان عزیز
خب باتوجه به اینک خیلی از دوستان مشکل sliding menu در سمت راست رو دارن، و چندتا از دوستان هم توی پیام خصوصی خواستن ک کد sliding menu RTL رو براشون تکمیل کنم ک از همینجا بایت تاخیرم ازشون عذرخواهی میکنم.
لذا بهتر دونستم ی برنامه با ی نمونه عملی این مشکل دوستان رو برای همیشه حل کنم
لازم به ذکره من از Navigation Drawer استفاده کردم و از اندروید استدیو هم استفاده میکنم.
خب میریم سواغ آموزش
ی پروزه بسازید
1- داخل لایه activity_main هرچی هست رو پاک کنین و کدای زیر رو بهش اضافه کنین:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- The main content view -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<!-- The navigation drawer -->
<ListView android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="right"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="@android:color/white"/>
</android.support.v4.widget.DrawerLayout>
این کداها همون Navigation drawer ما هستن ک داخلش ی لیست قرار داره
2- کدای زیر رو به فایل string موجود در پوشه value اضافه کنین:
<string-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
<item>Jupiter</item>
<item>Saturn</item>
<item>Uranus</item>
<item>Neptune</item>
</string-array>
این آرایه آیتم های روی لیست مون رو تشکیل میده
3- حالا به قسمت کدها میریم و متغیرهای زیر رو به ابتدای برنامه اضافه میکنیم:
private String[] mPlanetTitles;
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
4- و در آخر کدای زیر رو ب تابع oncreate و بعد از متد setContentView اضافه میکنیم:
mPlanetTitles = getResources().getStringArray(R.array.planets_arra y);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.left_drawer);
// Set the adapter for the list view
mDrawerList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, mPlanetTitles));
mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
if (position >= 0) {
Toast.makeText(getBaseContext(), String.valueOf(position), Toast.LENGTH_LONG)
.show();
mDrawerList.setItemChecked(position, true);
setTitle(mPlanetTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
}
}
});
خب حالا اگ برنامه رو اجرا کنین و صفحه اتون رو از سمت راست به چپ swip کنین sliding menu براتون به نمایش درمیاد.
اینم فایل های برنامه:
Sliding menu RTL (http://www.4shared.com/rar/3aOz2KB9ce/SlidingMenuRTL.html)
امیدوارم براتون مفید باشه و تونسته باشم یکی از مشکلاتتون رو حل کنم.
اگ سوال یا مشکلی داشتید در خدمتم.
خب باتوجه به اینک خیلی از دوستان مشکل sliding menu در سمت راست رو دارن، و چندتا از دوستان هم توی پیام خصوصی خواستن ک کد sliding menu RTL رو براشون تکمیل کنم ک از همینجا بایت تاخیرم ازشون عذرخواهی میکنم.
لذا بهتر دونستم ی برنامه با ی نمونه عملی این مشکل دوستان رو برای همیشه حل کنم
لازم به ذکره من از Navigation Drawer استفاده کردم و از اندروید استدیو هم استفاده میکنم.
خب میریم سواغ آموزش
ی پروزه بسازید
1- داخل لایه activity_main هرچی هست رو پاک کنین و کدای زیر رو بهش اضافه کنین:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- The main content view -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<!-- The navigation drawer -->
<ListView android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="right"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="@android:color/white"/>
</android.support.v4.widget.DrawerLayout>
این کداها همون Navigation drawer ما هستن ک داخلش ی لیست قرار داره
2- کدای زیر رو به فایل string موجود در پوشه value اضافه کنین:
<string-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
<item>Jupiter</item>
<item>Saturn</item>
<item>Uranus</item>
<item>Neptune</item>
</string-array>
این آرایه آیتم های روی لیست مون رو تشکیل میده
3- حالا به قسمت کدها میریم و متغیرهای زیر رو به ابتدای برنامه اضافه میکنیم:
private String[] mPlanetTitles;
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
4- و در آخر کدای زیر رو ب تابع oncreate و بعد از متد setContentView اضافه میکنیم:
mPlanetTitles = getResources().getStringArray(R.array.planets_arra y);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.left_drawer);
// Set the adapter for the list view
mDrawerList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, mPlanetTitles));
mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
if (position >= 0) {
Toast.makeText(getBaseContext(), String.valueOf(position), Toast.LENGTH_LONG)
.show();
mDrawerList.setItemChecked(position, true);
setTitle(mPlanetTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
}
}
});
خب حالا اگ برنامه رو اجرا کنین و صفحه اتون رو از سمت راست به چپ swip کنین sliding menu براتون به نمایش درمیاد.
اینم فایل های برنامه:
Sliding menu RTL (http://www.4shared.com/rar/3aOz2KB9ce/SlidingMenuRTL.html)
امیدوارم براتون مفید باشه و تونسته باشم یکی از مشکلاتتون رو حل کنم.
اگ سوال یا مشکلی داشتید در خدمتم.