0

我正在尝试在我的应用程序中实现Caldroid日历,只需进行少量修改。那里有自定义 ViewPager:

    <com.antonyt.infiniteviewpager.InfiniteViewPager
            android:id="@+id/months_infinite_pager"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="-10dp"/>

寻呼机位于一个父布局下。我想要的是使用边距或填充将寻呼机定位在它的父级内。似乎设置侧边(左,右)边距或填充会使应用程序在 ViewPageronMeasure()方法内的某处循环。

找不到任何信息,即 ViewPager 不能有一个带有侧边距/填充集的父级。onMeasure()现在只包含 super.onMeasure(widthMeasureSpec, heightMeasureSpec) 并且它似乎出于某种原因在本机库中循环。没有边距/填充就不会发生这种情况

4

1 回答 1

0

问题出在容器布局中:

    <LinearLayout
        android:id="@+id/right_page"
        android:layout_width="1dp"
        android:layout_height="match_parent"
        android:layout_weight="0.5"
        android:orientation="vertical" >

只是占屏幕一半的布局,那又怎样?看来问题是android:layout_width="1dp"。更改为android:layout_width="200dp"帮助。不管是 200、100 还是任何其他数字。我认为 ViewPager 首先将自己定位在 1dp 上,然后从百分比宽度重新计算,但只是猜测

于 2013-05-31T18:09:47.990 回答