android - 如何设置标签的左右填充

标签 android tabs android-viewpager

我正在尝试在滑动时创建一个选项卡,这样可以在两个 fragment 之间填充 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>

有没有其他方法可以设置任意两个选项卡之间的填充

最佳答案

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

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

//200 is value in pixel

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

关于android - 如何设置标签的左右填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36820228/

相关文章:

android - 在 Android 应用程序中深度链接 Deezer(广播和艺术家)

jquery - css 在 jquery 选项卡系统中不起作用

android - 如何在选项卡上方添加行android tablayout

java - 突出显示选项卡 View 寻呼机android

android - 使警报对话框在单击肯定按钮时不可关闭,直到条件为真

android - ListFragment 中的异常 : The specified child already has a parent

android - 请求运行时权限后 fragment 变为空白

android - 如何实现显示上一页和下一页以及更大焦点页面的 ViewPager

android - 在android中获取时区

ajax - 我将 bootstrap.js 用于选项卡。但是当单击选项卡时,我无法执行 ajax 请求来加载链接