بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

آموزش SlidingTabLayout Right To Left راست چین

مدیریت گفتگو
saraei 11 سال پیش
آخرین تغییر: 10 سال پیش

با سلام .
چند هفته هستش که شروع کردم به نوشتن برنامه و هر چی سوال می پرسم به جایی نرسیدم . ( جز 4 بار ) . حالا که جواب سوالم رو پیدا کردم برای شما هم میزارم . شاید به دردتون بخوره .

اولا موقع ست کردن ویو پیجر (viewPager) کد زیر رو هم اضافه میکنی

  slidingTabLayout.setViewPager(viewPager);
viewPager.setVerticalScrollBarEnabled(true);
viewPager.setCurrentItem(pagerAdapter.getCount()); // این کد رو اضافه میکنید تا آخرین صفحه به عن.ان صفحه نخست قرار بگیره . البته صفحه پیش فرض بگم بهتره تا صفحه نخست ..

بعد در کلاس SlidingTabLayout دنبال متود populateTabStrip میگردین و کدش رو به صورت زیر تغییر میدین .

@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private void populateTabStrip() {
final PagerAdapter adapter = mViewPager.getAdapter();
final OnClickListener tabClickListener = new TabClickListener();

for (int i = 0; i < adapter.getCount(); i++) {
View tabView = null;
TextView tabTitleView = null;

if (mTabViewLayoutId != 0) {
// If there is a custom tab view layout id set, try and inflate it
tabView = LayoutInflater.from(getContext()).inflate(mTabViewLayoutId, mTabStrip,
false);
tabTitleView = (TextView) tabView.findViewById(mTabViewTextViewId);
}

if (tabView == null) {
tabView = createDefaultTabView(getContext());
}

if (tabTitleView == null && TextView.class.isInstance(tabView)) {
tabTitleView = (TextView) tabView;
}

if (mDistributeEvenly) {
LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) tabView.getLayoutParams();
lp.width = 0;
lp.weight = 1;
}

tabTitleView.setText(adapter.getPageTitle(i));
tabView.setOnClickListener(tabClickListener);
String desc = mContentDescriptions.get(i, null);
if (desc != null) {
tabView.setContentDescription(desc);
}

mTabStrip.addView(tabView);
if (i == mViewPager.getCurrentItem()) {
tabView.setSelected(true);
}
}
mTabStrip.setGravity(Gravity.RIGHT); // این کد رو باید اضافه کنید که آیتم ها رو به سمت راست میکشه :-)
}

قسمت بعدی رو تا چند لحظه دیگه میگم.

 

نظرات

SaeiD-as 11 سال پیش
دمت گرم داداش، خیلی دنبال این یه خط کد بودم، مرسی

پاسخ‌ها 2

offset 10 سال پیش

اگر درست فهمیده باشم، برای اینکه Sliding TabLayout  راست به چپ بشه باید سراغ قسمتی بریم که لایه ای که Tab ها درون قرار دارن رو راست به چپ کنیم برای اینکار من این کد رو به کلاس    Sliding TabStrip  اضافه کردم ، یعنی در متد سازنده این کلاس کد زیر  را اضافه کردم.

 this.setGravity(Gravity.RIGHT);
 

نظرات

118674 10 سال پیش

سلام دوست عزیز میشه راهنمایی بفریمایید چطور میتونم رنگ تیتر تب را تغییر بدهم؟

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .