Android PagerTabStrip中的一些问题和难点
我已经实现了一个可滚动的标签+滑动,一切正常。 但是,我有一些与当前页面相关的问题: 1.我无法将当前标题加粗 2。无法选择渲染视图时要显示的默认选项卡(例如:位置为2的选项卡),如Google Play应用程序中的选项卡 3.第一个选项卡和最后一个选项卡的左侧和右侧分别有一个边距,我可以将其设置为0dp吗 以下是我可以为选项卡设置样式的方法: 爪哇:Android PagerTabStrip中的一些问题和难点,android,tabs,android-viewpager,Android,Tabs,Android Viewpager,我已经实现了一个可滚动的标签+滑动,一切正常。 但是,我有一些与当前页面相关的问题: 1.我无法将当前标题加粗 2。无法选择渲染视图时要显示的默认选项卡(例如:位置为2的选项卡),如Google Play应用程序中的选项卡 3.第一个选项卡和最后一个选项卡的左侧和右侧分别有一个边距,我可以将其设置为0dp吗 以下是我可以为选项卡设置样式的方法: 爪哇: strip = (PagerTabStrip) findViewById(R.id.pager_tab_strip); strip.setTab
strip = (PagerTabStrip) findViewById(R.id.pager_tab_strip);
strip.setTabIndicatorColorResource(R.color.light_blue);
strip.setDrawFullUnderline(true);
布局:
<android.support.v4.view.PagerTabStrip
android:id="@+id/pager_tab_strip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="@drawable/pagertitle_border_bottom"
android:paddingBottom="15dp"
android:paddingTop="15dp"
android:textColor="@color/light_blue" />
有谁能帮我记下这三点吗?谢谢。事实上,我找到了一个合适的解决方案。忘记
PagerTabStrip
;)
很显然,谷歌发布了一个新的应用程序,它的特点就是他们在谷歌Play应用程序中使用的源代码。它非常容易使用。下载示例应用程序并从中复制两个文件:SlidingTabLayout.java
和SlidingTabStrip.java
然后在布局XML中,在ViewPager
上方添加以下内容(将com.example
更改为包名):
slidengtablayout
的API允许您轻松进行基本样式设置,如更改选项卡颜色、分隔符颜色、指示器颜色等
还有一件更重要的事,谷歌提供的SlidingTableOut
在你有很多标签的情况下运行良好。但是,例如,如果您有三个选项卡,您将看到所有选项卡都向左对齐,并且最后一个选项卡与视图宽度之间有很大的间隙。
要克服这一问题,请在TextView TextView=new TextView(上下文)下的第173行后面修改SlidingTabLayout.java
代码>添加以下行:
textView.setLayoutParams(新的LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.WRAP_CONTENT,1f))代码>
现在,选项卡之间的空间将被正确划分:
看看这个。这家伙非常清楚地解释了如何使用滑动选项卡布局
任何定制
更改slidengtablayout.java类中的代码你找到解决方案了吗?@CodePond.org:实际上没有,使用这个小部件。我发现的唯一解决方案是创建自己的寻呼机:标题滚动视图和SpPE内容视图监听器……请考虑我建议的答案。
<com.example.SlidingTabLayout
android:id="@+id/sliding_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_marginTop="5dp"
android:layout_weight="1.5"
android:layout_width="match_parent"
android:background="@android:color/white"
android:layout_height="0dp"/>
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(new GridPagerAdapter(getSupportFragmentManager()));
// Initialize the SlidingTabLayout. Note that the order is important. First init ViewPager and Adapter and only then init SlidingTabLayout
mSlidingTabLayout = (SlidingTabLayout) findViewById(R.id.sliding_tabs);
mSlidingTabLayout.setViewPager(mViewPager);
}