如何为选项卡设置左侧填充

时间:2016-04-24 07:00:27

标签: android tabs android-viewpager

我试图在刷卡时制作一个标签,在这两个片段之间填充enter image description here

我正在使用支持库进行此操作 编译' com.astuetz:pagerslidingtabstrip:1.0.1' 我的java代码

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import com.astuetz.PagerSlidingTabStrip;



public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ViewPager pager = (ViewPager) findViewById(R.id.pager);
    pager.setAdapter(new TestAdapter(getSupportFragmentManager()));
    PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
    tabs.setViewPager(pager);
}
}
class TestAdapter extends FragmentPagerAdapter {
public TestAdapter (FragmentManager manager) {
    super(manager);
}

@Override
public Fragment getItem(int i) {
    Fragment fragment=null;
    if (i==0){
        fragment=new One();
    }
    if (i==1){
        fragment=new Two();
    }
    if (i==2){
        fragment=new Three();
    }
    return fragment;
}

@Override
public int getCount() {
    return 3;
}
@Override
public CharSequence getPageTitle(int position) {
    String title = new String();
    if (position==0){
        return "tab1";
    }

    if (position==1){
        return "tab2";
    }
    if (position==2){
        return "tab3";
    }
    return title;
}
}

我试图在viewpager中设置填充但是它没有工作然后我试图设置pstsTabPaddingLeftRight但它也没有工作我的xml代码

LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.astuetz.PagerSlidingTabStrip
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="48dip"
    app:pstsShouldExpand="true"
    app:pstsTextAllCaps="true"
    app:pstsScrollOffset="7dp"
    app:pstsIndicatorColor="@color/dem"
    app:pstsDividerPadding="10dp"
    app:pstsTabPaddingLeftRight="40dp"
    />
<android.support.v4.view.ViewPager
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/pager">

</android.support.v4.view.ViewPager>
</LinearLayout>

是否有任何其他方法可以在任意两个标签之间设置填充

1 个答案:

答案 0 :(得分:2)

由于您使用的是ViewPager,实现一些空间的最简单方法是使用Viewpager的setPageMargin()方法,在您的情况下将是

ViewPager pager = (ViewPager) findViewById(R.id.pager);
pager.setPageMargin(200);

//200 is value in pixel

还有一个方法setPageMarginDrawable()设置一个drawable,用于填充页面之间的边距(Android文档)