我正在创建一个使用ViewPager和PagerTabStrip的简单android项目。 ViewPager的每个片段都包含一个ImageView和一个ProgressBar。现在,片段的ImageView没有底层PagerTabStrip,因为我猜起PagerTabStrip在顶部预留了空间。
理想情况下,我希望ImageView位于条带下方,就好像我已将PagerTabStrip的可见性更改为View.GONE,但条带仍然存在以覆盖它。
我尝试通过将其缩放为“FitXY”来调整ImageView的边距并使用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重叠,以便在翻译时,没有空白空格。
答案 0 :(得分:0)
如果你能以完整的形式展示MainActivity.xml会很有帮助,我相信那里有更多的View配置。
根据您提供的信息,导致此问题的唯一原因是您在MainActivityFragment.xml布局中使用RelativeLayout。
阅读RelativeLayout文档:
“一个布局,其中儿童的位置可以相互描述或与父母相关。”
“请注意,您不能在RelativeLayout的大小与其子项的位置之间存在循环依赖关系。例如,您不能将RelativeLayout的高度设置为WRAP_CONTENT且子项设置为ALIGN_PARENT_BOTTOM。”
我建议你使用 LinearLayout 作为管理自己视图的片段而不依赖。