اینو تو کدوم قسمت قرار بدم
بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
راست چین کردن slidigTabLayout (حل شد)
مدیریت گفتگو
آخرین تغییر: 11 سال پیش
سلام من این تب رو دارم اما میخوام راست چینش کنم و مثل تب بازار از راست شروع بشه.چجوریه.از کد های gravity و layout-gravity در xml هم استفاده کردم اما کارساز نبود
مشکل حل شد با این کد در کلاس SlidingTabLayout.در واقع اومدم یک خط اضافه کردم
public SlidingTabLayout(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// Disable the Scroll Bar
setHorizontalScrollBarEnabled(false);
// Make sure that the Tab Strips fills this View
setFillViewport(true);
mTitleOffset = (int) (TITLE_OFFSET_DIPS * getResources().getDisplayMetrics().density);
mTabStrip = new SlidingTabStrip(context);
//right side tab*********************
mTabStrip.setGravity(Gravity.RIGHT);
//***********************************
addView(mTabStrip, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
}
پاسخها 3
این روش رو هم تست کنید :
private void rtl(HorizontalScrollView hscv){
hscv.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
LinearLayout lay=(LinearLayout) hscv.findViewById(R.id.lyt_scrollView);
if(lay!=null){
lay.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
lay.invalidate();
}
}
نظرات
اینو تو کدوم قسمت قرار بدم
اینو ببرید تو سورس slidingTab و داخل یه متد مثل initializer قرار بدید ، اگر در کلاس HorizontalScrollView هستید لزومی به نوشتن hscv نیست و مستقیم میشه استفاده کرد .
این کده برای api بالای 17.کد دیگه ای ندارین
باید برید داخل همون scrollView و برای linear که توش هست بگید که gravity براش right باشه
این کدا هم هست که اضافه کردم واسه این که وقتی برنامه شروع میشه کدوم فرگمنت اول باشه.اون کدی که منظورمه رو بالاش کامنت کردم بقیش ترتیب سایر کداست
ViewPager viewPager=(ViewPager)findViewById(R.id.viewpager);
fragmentPagerAdapter fragmentAdapter=new fragmentPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(fragmentAdapter);
float_button.example.com.float_button.SlidingTabLayout mSlidingTabLayout =
(float_button.example.com.float_button.SlidingTabLayout) findViewById(R.id.sliding_tabs);
//first tab*********************
viewPager.setCurrentItem(2);
//***********************************
mSlidingTabLayout.setDividerColors(0);
mSlidingTabLayout.setViewPager(viewPager);
نظرات
پیداش کردم نمیخواد دنبالش بری
ببخشید مشکلتون چطوری حل شد؟
این هم کدایه FragmentPagerAdapter .به قسمت آیدی دادنذقت کنید.اولین تب سمت راست آیدیش 2 آخریش صفر
package float_button.example.com.float_button;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
/**
* Created by shadow on 7/11/2015.
*/
public class fragmentPagerAdapter extends FragmentPagerAdapter {
public fragmentPagerAdapter(FragmentManager fm) {
super(fm);
}
public CharSequence getPageTitle (int position){
switch(position){
case 2:
return "یک";
case 1:
return "دو";
case 0:
return "سه";
default:
return "دو";
}
}
@Override
public Fragment getItem(int position) {
switch (position){
case 2:
return new fragment1();
case 1:
return new fragment2();
case 0:
return new fragment3();
default:
return new fragment2();
}
}
@Override
public int getCount() {
return 3;
}
}
نظرات
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام
نظرات