碎片的高度(在Viewpager中)不能减少

时间:2016-08-03 14:22:22

标签: android xml android-layout android-viewpager

我有一个带有viewpager的tablayout,它包含四个片段,前三个标签(片段)工作正常。但最后一个片段的高度不能减少。其布局仅包含固定大小高度的Imageview。但片段高度始终大于imageview。我试图将imageview放在一个框架布局和linearlayout中,尝试所有高度可能性:match_parent,wrap_content和固定大小的高度但是,它没有工作。 我试图将maxHeight添加到imageview而没有运气。 我猜测问题可能出在视图寻呼机上,因为它可能正在测量其他片段的高度并且坚持这个高度,但为什么其他片段工作正常。所以我需要你的帮助。提前致谢 这是我的最后一个片段布局:

<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="260dp"
  android:maxHeight="260dp"
  android:scaleType="centerCrop"
  android:src="@drawable/gs350f"/> 

这是viewpager布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.design.widget.TabLayout
    android:id="@+id/car_overview_tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginTop="8dp"
    android:background="@drawable/rounded_corner"
    app:tabGravity="fill"
    app:tabIndicatorColor="@android:color/transparent"
    app:tabMaxWidth="0dp"
    app:tabMode="fixed"
    app:tabSelectedTextColor="@color/high" />


<com.myproject.ui.custom.NonSwipeableViewPager
    android:id="@+id/overview_pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/car_overview_tabs" />

最后这是NonSwipeableViewPager类:

public class NonSwipeableViewPager extends ViewPager {

    public NonSwipeableViewPager(Context context) {
      super(context);
    }

    public NonSwipeableViewPager(Context context, AttributeSet attrs) {
      super(context, attrs);
    }

    @Override public boolean onInterceptTouchEvent(MotionEvent event) {
      // Never allow swiping to switch between pages
      return false;
    }

    @Override public boolean onTouchEvent(MotionEvent event) {
      // Never allow swiping to switch between pages
      return false;
    }
}

0 个答案:

没有答案