我正在开发一个应用程序,我想在其中添加标签,以便可以使用PagerTabStrip和TabLayout使用ViewPager 添加标签.
它看起来和我没什么区别,但我猜它们之间有一些区别所以它们是两个类.那么它们之间的主要区别是什么?
我有以下简单的设置:
swipeable.xml
<LinearLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<include layout="@layout/toolbar" />
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v4.view.PagerTabStrip
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</android.support.v4.view.ViewPager>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
活动:
public class InfoActivity extends ActionBarActivity {
private static final int[][] KEYS = { { R.string.usage, R.string.usage_text },
{ R.string.data_protection, R.string.data_protection_text },
{ R.string.impressum, R.string.impressum_text } };
@Override
protected void onCreate( Bundle savedInstanceState ) {
setContentView( R.layout.swipeable );
super.onCreate( savedInstanceState );
ViewPager viewPager = (ViewPager)findViewById( R.id.pager );
viewPager.setAdapter( new SwipeAdapter( getSupportFragmentManager() ) );
}
class SwipeAdapter extends FragmentStatePagerAdapter { …Run Code Online (Sandbox Code Playgroud) 问题:更新到appcompat-v7:23.0.0后,PagerTabStrip和PagerTitleStrip都没有在第一个显示页面上显示标题(图1),标题仅在刷到另一个页面后绘制(图2).
使用的库:appcompat-v7
使用的版本:23.0.0
使用的主题:Theme.AppCompat.Light.DarkActionBar,Theme.AppCompat.Light.NoActionBar
设备/ Android版本转载于:Nexus 5/Android M开发者预览版2
重现步骤:
<android.support.v4.view.PagerTabStrip
android:id="@+id/title_strip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:paddingBottom="4dp"
android:paddingTop="4dp"
android:textColor="@android:color/background_dark" />
Run Code Online (Sandbox Code Playgroud)
会发生什么:viewpager标签条上的标题应该是可见的事情发生了:除非刷到另一页(图2),否则不会绘制标题(图1)
这里是问题的链接......
我想使用,ViewPager2因为它应该替换ViewPager,我希望摆脱一些我遇到的问题ViewPager。
我想做这个:
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/detail_pager_view"
android:layout_height="match_parent"
android:layout_width="match_parent" >
<androidx.viewpager.widget.PagerTabStrip
android:id="@+id/detail_pager_strip"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_width="match_parent" />
</androidx.viewpager2.widget.ViewPager2>
Run Code Online (Sandbox Code Playgroud)
但ViewPager2抱怨它不能有孩子。在另一方面,如果我将PagerTabStrip出ViewPager2报告它必须是一个孩子ViewPager。
所以似乎PagerTabStrip与ViewPager2. 我对么?
目前是否有任何解决方案?(除了自己写PagerTabStrip)
这是我要做的屏幕:
我不知道怎么做,如果可能的话!
事实上,我会使用像下面的xml一样的ViewPager和PagerTabStrip
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.PagerTabStrip
android:id="@+id/pager_title_strip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@color/white"
android:paddingBottom="4dp"
android:paddingTop="4dp"
android:textColor="@color/primary_text" />
</android.support.v4.view.ViewPager>
Run Code Online (Sandbox Code Playgroud)
精度:内容必须是可滚动的,可以使用向左或向右滑动(= ViewPager)
但我不确定我是否能够更改所选"Tab"和"Tab Indicator"位置的背景.
此外,目前我不确定我是否只有3个标签.这就是为什么我会使用"PagerTabStrip"来使用可滚动的tabbar作为Google Play应用程序.
最后,如果我无法按照自己的意愿进行自定义,我认为使用"TabHost"但是它不能与"ViewPager"一起使用,我是对的吗?
如果你有更好的解决方案,我会考虑的.
我有一个现有的应用程序,使应用ViewPager和PagerTabStrip与此已经工作了很长一段时间了Android SDK和各种版本的com.android.support:appcompat-v7库.我刚刚撞到了我的应用程序的编译和目标SDK版本从23到24和com.android.support:appcompat-v7库版本从23.4.0到24.0.0...我现在看到的PagerTabStrip是完全从丢失ViewPager.(不仅仅是缺少标题PagerTabStrip......在渲染视图时PagerTabStrip完全没有ViewPager.)
这就是我在布局文件中声明ViewPager和PagerTabStrip视图的方式:
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v4.view.PagerTabStrip
android:id="@+id/pagerTabStrip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:textColor="@android:color/white"
android:background="@color/view_bg_blue" />
</android.support.v4.view.ViewPager>
Run Code Online (Sandbox Code Playgroud)
任何人都可以点东西,我做错了或者可能这是一个错误的ViewPager和PagerTabStrip?
android android-viewpager android-support-library pagertabstrip android-7.0-nougat
在我的Android应用程序中,我想在PagerSlidingTab and ViewPager里面实现ScrollView.布局文件如下所示.我面临着奇怪的问题.它仅显示顶部的选项卡条,并且ViewPager屏幕上的Fragment内容不显示任何内容.我不知道hwat是那个问题.如果我从layotu删除ScreollView然后它完美地工作但我想要一切都在里面ScrollView.请帮我解决这个问题.
布局:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.danzim.diamond.classes.KenBurnsView
android:id="@+id/newsHeaderKenburn"
android:layout_width="match_parent"
android:layout_height="180dp"
android:layout_alignParentTop="true"
android:background="@color/black" />
<com.astuetz.PagerSlidingTabStrip
android:id="@+id/newsTabs"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_below="@+id/newsHeaderKenburn"
android:background="@drawable/background_news_tab"
app:pstsDividerColor="@color/transparent"
app:pstsIndicatorColor="@android:color/white"
app:pstsTextAllCaps="true" />
<android.support.v4.view.ViewPager
android:id="@+id/newsPager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/newsTabs" />
</RelativeLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud) android android-fragments android-scrollview android-viewpager pagertabstrip
我在myapp中使用PagerSlidingTabStrip.这个标题设置正常,但图像没有设置标签.我在谷歌搜索了很多但没有得到正确的结果.但这对我来说非常重要.
请看下面的截图

感谢所有人.