如何从其适配器设置Viewpager高度

时间:2016-02-02 11:44:02

标签: android android-viewpager

嗨朋友我正在开发一个应用程序,其中包含一个ViewPager,每个视图中都有标题及其描述。最初只需显示那些描述中的3行,但点击后它将扩展为完整描述。

我尝试过这些,但遗憾的是无法实现。所以,任何人都可以帮助我这些..提前谢谢。

Xml

                    <RelativeLayout android:id="@+id/llDescriptionMap"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical">

                    <com.explorelife.CustomViews.CustomViewPager
                        android:id="@+id/vpDescriptionMap"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content" />

                    <com.viewpagerindicator.CirclePageIndicator
                        android:id="@+id/indicatorDescriptionMap"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_alignParentBottom="true"
                        android:layout_alignParentStart="true"
                        android:layout_below="@+id/vpDescriptionMap"
                        android:padding="2dp"
                        app:radius="5dp" />
                </RelativeLayout>

CustomViewPager

public class CustomViewPager extends ViewPager{
public CustomViewPager(Context context) {
    super(context);
}

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

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

    int height = 0;
    for(int i = 0; i < getChildCount(); i++) {
        View child = getChildAt(i);
        child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
        int h = child.getMeasuredHeight();
        if(h > height) height = h;
    }

    heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY);

    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}}

1 个答案:

答案 0 :(得分:0)

首先你的XML必须像这样..

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

        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="5dp"

       >

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

你可以先发送你的viewpager代码..