gpt4 book ai didi

android - PagerTabStrip中的一些问题和难点

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:05:49 25 4
gpt4 key购买 nike

我已经实现了一个可滚动的选项卡 + 滑动,一切正常。但是我有一些与当前 PagerTabStrip 相关的问题:

1.我无法将当前标题设为粗体

2. 在呈现 View 时无法选择我要显示的默认选项卡(例如:位置为 2 的选项卡),例如 Google Play 应用中的选项卡

3.第一个和最后一个tab左右各有一个margin,可以设置为0dp吗?

这是我可以为选项卡设置样式的方法:

java :

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" />

任何人都可以帮我解决 3 点问题吗?谢谢。

最佳答案

好吧,我实际上找到了一个合适的解决方案。忘记 PagerTabStrip ;)

显然,Google 发布了一个 sample app具有他们在 Google Play 应用程序中使用的确切源代码。它 super 容易使用。下载示例应用程序并从那里复制两个文件:SlidingTabLayout.javaSlidingTabStrip.java

然后在您的布局 XML 中,在 ViewPager 上方添加以下内容(将 com.example 更改为您的包名称):

<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"/>

并在初始化 ViewPager 后将以下内容添加到 Activity 中:

    @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);
}

SlidingTabLayout 的 API 让您可以轻松地进行基本样式设置,例如更改选项卡颜色、分隔线颜色、指示器颜色等。

更重要的是,Google 提供的 SlidingTabLayout 在您有多个选项卡时效果很好。但是,例如,如果您有三个选项卡,您会看到所有选项卡都向左对齐,并且最后一个选项卡和 View 的宽度之间有很大的差距。 enter image description here

为了解决这个问题,修改 SlidingTabLayout.java 在第 173 行之后 TextView textView = new TextView(context); 添加以下行:

textView.setLayoutParams(new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.WRAP_CONTENT, 1f));

现在选项卡之间的空间将被正确划分: enter image description here

关于android - PagerTabStrip中的一些问题和难点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22131582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com