PagerTitleStrip和PagerTabStrip与support-v4(版本23.0.0)存在问题。
使用ViewPager
或PagerTitleStrip
时PagerTabStrip
的标题视图以及support-v4
库的版本23.0.0(用于支持Marshmallow / Android 6.0)并不# 39; t正确渲染。
跟踪并计划发布未来版本的问题: https://code.google.com/p/android/issues/detail?id=183127 https://code.google.com/p/android/issues/detail?id=184715
更新:现在已经在23.1.0中解决了这个问题。
答案 0 :(得分:37)
等待修补版本的临时解决方案是使用这些类的最新已知良好版本(22.1.0)的副本,而不是与支持库捆绑的版本。
将附加的文件放入项目中,然后使用这些类设置ViewPager
。
注意:请勿更改其包名,因为它们依赖于支持库中的包受保护的类。
使用我们的" new" PagerTabStrip
课程:
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v4.view.PagerTabStripV22
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"/>
</android.support.v4.view.ViewPager>
答案 1 :(得分:6)
此问题已在版本23.1.0中修复
com.android.support:support-v4:23.1.0
答案 2 :(得分:2)
我的评论&#34;作为答案,所以不要忽视它。
首先,当您从链接下载文件时,它们将不是正确的文件名,即.java文件将缺少&#34; V&#34;对于&#34; V22&#34;,因此您需要将这两个文件重命名为&#34; PagerTitleStripV22.java&#34;和#34; PagerTabStripV22.java&#34;。然后按照其他人发布的说明进行操作:创建包&#34; android.support.v4.view&#34;在您的项目中,将#31文件附加到创建的包中的项目中,并将android.support.v4.view.PagerTabStrip更改为布局文件中的android.support.v4.view.PagerTabStripV22。
答案 3 :(得分:1)
解决此问题的简单解决方法。
//after setting the adapter
viewPager.post(new Runnable() {
@Override
public void run() {
viewPager.setCurrentItem(1, false);
viewPager.setCurrentItem(0, false);
viewPager.postInvalidate();
}
});
修复发布后,请注释上述代码。