tinkoff-mobile-tech / ScrollingPagerIndicator

Pager indicator inspired by Instagram. Lightweight and easy to set up.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

java.lang.IllegalStateException: Fixed width is not supported

prilaga opened this issue · comments

Hey guys, I have got next issue:

java.lang.IllegalStateException: Fixed width is not supported at ru.tinkoff.scrollingpagerindicator.ScrollingPagerIndicator.onMeasure(ScrollingPagerIndicator.java:308) at android.view.View.measure(View.java:19909) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461) at android.view.View.measure(View.java:19909)

Here is layout and there is no fixed size:

<FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <com.prilaga.instastories.view.widget.CustomViewPager
            android:id="@+id/media_view_pager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:pagerViewModel="@{viewModel}"/>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:background="@color/bar_color">

            <EditText
                android:id="@+id/caption_edit_text"
                android:layout_width="match_parent"
                android:layout_marginBottom="-5dp"
                android:layout_height="wrap_content"
                android:text="@{viewModel.captionObservable}"
                android:textColor="@color/white"
                android:visibility="@{viewModel.captionVisibilityObservable}"/>

            <android.support.v7.widget.AppCompatImageButton
                android:id="@+id/hashtag_button"
                style="@style/Widget.AppCompat.Button.Action"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_below="@+id/caption_edit_text"
                android:onClick="@{() -> viewModel.openHashtags()}"
                android:src="@drawable/ic_hashtag"/>

            <ru.tinkoff.scrollingpagerindicator.ScrollingPagerIndicator
                android:id="@+id/media_pager_indicator"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/hashtag_button"
                android:layout_centerHorizontal="true"
                android:padding="@dimen/l_size"
                app:spi_dotColor="@color/white"
                app:spi_dotSelectedColor="@color/blue_insta"
                />

            <android.support.v7.widget.AppCompatImageButton
                android:id="@+id/save_or_delete_button"
                style="@style/Widget.AppCompat.Button.Action"
                android:layout_below="@+id/caption_edit_text"
                android:layout_toLeftOf="@+id/repost_button"
                android:layout_toStartOf="@+id/repost_button"
                android:onClick="@{() -> viewModel.saveOrDeleteMedia()}"
                android:src="@{viewModel.saveOrTrashIconObservable}"
                tools:src="@drawable/ic_save_white"/>

            <android.support.v7.widget.AppCompatImageButton
                android:id="@+id/repost_button"
                style="@style/Widget.AppCompat.Button.Action"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_below="@+id/caption_edit_text"
                android:onClick="@{() -> viewModel.repostMedia()}"
                android:src="@drawable/ic_share"/>

        </RelativeLayout>

    </FrameLayout>

@PhilNehaev @d-tarasov @ivampir @artyomkiss @sotnich

RelativeLayout may call onMeasure with temporary MeasureSpec.EXACTLY width.
Strict check was removed in version 1.0.3

@N-Olifer v.1.0.3 works like a charm, thanks.

I faced same issue. Thanks for saving my time