Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:当PagerSlidingTastrip可见时,背景图像垂直拉伸_Android_Android Viewpager_Pagerslidingtabstrip - Fatal编程技术网

Android:当PagerSlidingTastrip可见时,背景图像垂直拉伸

Android:当PagerSlidingTastrip可见时,背景图像垂直拉伸,android,android-viewpager,pagerslidingtabstrip,Android,Android Viewpager,Pagerslidingtabstrip,我使用PagerSlidingTabStrip和ViewPager查看幻灯片选项卡。寻呼机包含两个片段(两个选项卡)。我已经设置了一个片段的背景图像,当标签不可见时,图像会填满整个屏幕。但是,当选项卡可见时,背景图像会垂直拉伸,这是不需要的(因为选项卡占用空间,所以背景图像会拉伸)。背景图像的宽度不变 有没有办法不垂直拉伸背景图像或以相同比例拉伸相同的宽度和高度 tab.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayo

我使用PagerSlidingTabStrip和ViewPager查看幻灯片选项卡。寻呼机包含两个片段(两个选项卡)。我已经设置了一个片段的背景图像,当标签不可见时,图像会填满整个屏幕。但是,当选项卡可见时,背景图像会垂直拉伸,这是不需要的(因为选项卡占用空间,所以背景图像会拉伸)。背景图像的宽度不变

有没有办法不垂直拉伸背景图像或以相同比例拉伸相同的宽度和高度

tab.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/bg_views_default"
    android:orientation="vertical">

    <com.astuetz.PagerSlidingTabStrip
        android:id="@+id/strip_tabs"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        app:pstsShouldExpand="true"/>

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
    </android.support.v4.view.ViewPager>
</LinearLayout>


深入研究后,我意识到出现这个问题是因为背景图像是在片段中设置的,片段包含在view pager中。因此,当加载片段时,背景会垂直拉伸,因为顶部的标签会占用一些空间。即使我再次在viewpager中设置背景图像,情况仍然是一样的。我猜viewpager的图像被片段图像覆盖了。在这个阶段,我必须在fragment中设置背景图像,因为它也被其他组件使用。仍然无法弄清楚如果在使用PagerSlidingTastrip时在viewpager中包含的片段中设置了背景图像,如何使背景图像不拉伸。现在,我必须在viewpager中设置背景图像,而不是片段。因此,对于其他组件,我必须创建一个新片段,而不是使用普通片段,因为背景图像不再设置在其中。在我的适配器(它扩展了FragmentPagerAdapter)中,我重写finishUpdate()方法,因此可以删除每个片段的背景图像。并在viewpager中设置背景图像,以便所有片段可以共享一个静态背景图像。public void finishUpdate(ViewGroup容器){super.finishUpdate(container);//删除所有片段的背景图像}}深入研究后,我意识到出现这个问题是因为背景图像设置在片段中,片段包含在视图页面中。因此,当加载片段时,背景会垂直拉伸,因为顶部的标签会占用一些空间。即使我再次在viewpager中设置背景图像,情况仍然是一样的。我猜viewpager的图像被片段图像覆盖了。在这个阶段,我必须在fragment中设置背景图像,因为它也被其他组件使用。仍然无法弄清楚如果在使用PagerSlidingTastrip时在viewpager中包含的片段中设置了背景图像,如何使背景图像不拉伸。现在,我必须在viewpager中设置背景图像,而不是片段。因此,对于其他组件,我必须创建一个新片段,而不是使用普通片段,因为背景图像不再设置在其中。在我的适配器(它扩展了FragmentPagerAdapter)中,我重写finishUpdate()方法,因此可以删除每个片段的背景图像。并在viewpager中设置背景图像,以便所有片段可以共享一个静态背景图像。public void finishUpdate(ViewGroup容器){super.finishUpdate(容器);//删除所有片段的背景图像}