2

我正在创建一个使用 ViewPager 和 PagerTabStrip 的简单 android 项目。ViewPager 的每个片段都由一个 ImageView 和一个 ProgressBar 组成。现在,片段的 ImageView 并不在 PagerTabStrip 的下方,因为我猜 PagerTabStrip 在顶部保留了空间。

理想情况下,我希望 ImageView 位于条带下方,就好像我已将 PagerTabStrip 的可见性更改为 View.GONE,但条带仍然在那里覆盖它。

我试图调整 ImageView 的边距,并通过将其缩放到“FitXY”来调整 XML 参数,但它仍然不在 PagerTabStrip 之下。任何帮助将不胜感激!这是我在下面的 XML 代码:

MainActivity.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <android.support.v4.view.ViewPager
        android:id="@+id/home_screen_pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <android.support.v4.view.PagerTabStrip
            android:id="@+id/pager_tab_strip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            android:background="#000000"
            android:paddingBottom="0dp"
            android:paddingTop="0dp"
            android:textAppearance="@style/PagerTabStripText"
            android:textColor="#fff" />

    </android.support.v4.view.ViewPager>

     <ImageButton
        android:id="@+id/fbButton"
        android:layout_width="@dimen/button_size"
        android:layout_height="@dimen/button_size"
        android:layout_alignParentLeft="true"
        android:layout_alignParentBottom="true"
        android:layout_marginLeft="@dimen/fb_button_left_margin"
        android:layout_marginBottom="@dimen/download_button_bottom_margin"
        android:background="@drawable/facebookbutton" />

    <ImageButton
        android:id="@+id/miscButton"
        android:layout_width="@dimen/button_size"
        android:layout_height="@dimen/button_size"
        android:layout_alignParentBottom="true"
        android:layout_marginLeft="@dimen/button_margin"
        android:layout_marginBottom="@dimen/download_button_bottom_margin"
        android:layout_toRightOf="@+id/fbButton"
        android:background="@drawable/button" />

    <ImageButton
        android:id="@+id/downloadButton"
        android:layout_width="@dimen/button_size"
        android:layout_height="@dimen/button_size"
        android:layout_alignParentBottom="true"
        android:layout_marginLeft="@dimen/button_margin"
        android:layout_marginBottom="@dimen/download_button_bottom_margin"
        android:layout_toRightOf="@+id/miscButton"
        android:background="@drawable/button" />

    <ImageView
        android:id="@+id/bottomBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:adjustViewBounds="true"
        android:baselineAlignBottom="true"
        android:cropToPadding="true"
        android:padding="0dp"
        android:scaleType="fitXY"
        android:src="@drawable/bottombar" />

</RelativeLayout>

MainActivityFragment.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/root"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

   <ProgressBar
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:contentDescription="@string/imageview_description"
        android:scaleType="fitXY" />

</RelativeLayout>

这是现在的截图:

    With PagerTabStrip: http://i.imgur.com/w1WaF9P 

    Without PagerTabStrip: http://i.imgur.com/Nr2Ny3v

第二个图像是通过使用平移动画将 PagerTabStrip 向上移动来实现的。

理想情况下,ImageView 从左上角的 0,0 开始,并与 PagerTabStrip 重叠,因此当它翻译时,没有空白区域。

4

1 回答 1

0

如果您可以完整地显示 MainActivity.xml 将会很有帮助,我相信那里有更多的 View(s) 配置。

根据您提供的信息,可能导致这种情况的唯一原因是您在 MainActivityFragment.xml 布局中使用了 RelativeLayout。

阅读RelativeLayout文档:

“一种布局,其中子项的位置可以相对于彼此或与父项进行描述。”

“请注意,RelativeLayout 的大小与其子级的位置之间不能存在循环依赖关系。例如,不能有一个高度设置为 WRAP_CONTENT 且子级设置为 ALIGN_PARENT_BOTTOM 的 RelativeLayout。”

我建议您将LinearLayout用于管理自己的视图而不依赖于您的片段。

于 2013-05-02T06:12:10.750 回答