ssomai / ScalableLayout

Scalable Layout For Android
Apache License 2.0
270 stars 87 forks source link

textview에 다시 setText를 했을때 ellipsize가 먹지를 않아 문의드립니다. #76

Open LEEbyeonghoon2 opened 2 years ago

LEEbyeonghoon2 commented 2 years ago

안녕하세요, scalableLayout이라는 좋은 라이브러리를 만들어주셔서 UI를 구성할때 편하게 잘 쓰고있어 감사인사를 드립니다. :)

다름이 아니라 A activity의 특정 textview에 ellipsize, textview_wrapcontent_scale_maxwidth 옵션을 줘서 ellipsize를 작동하게 해줬고 제일 처음 A activity가 로드되면서 화면이 나올때는 해당 옵션이 잘먹는거를 확인했습니다.

그다음으로 버튼을 누르면 다시 새로운 문자열을 setText를 하게 요청을 하게 해줬는데 이때 긴 문자열임에도 불구하고 ellipsize가 먹지않고 뒤에 글자가 짤리는 현상이 있습니다....

requestLayout을 해줘봤고 혹시나 싶어 setText(null), setText("")을 통해 해당 textView를 줄인다음에 다시 setText도 해봤습니다.

도저히 방법을 못찾겠어서 혹시 이런 경우에는 어떻게 대처해야되는지 조언을 구하고 싶어서 글을 남기게 되었습니다.

textView에 다시 setText를 해줬을때 ellipsize를 먹게 하려면 어떻게 해야될까요?

해당 xml코드는 아래와 같고 txtUserName에서 위아 같은 버그가 발생하고 있습니다.

<com.ssomai.android.scalablelayout.ScalableLayout android:id="@+id/patientResultScalable" android:layout_width="wrap_content" android:layout_height="wrap_content" app:scale_base_height="40" app:scale_base_width="300" app:scale_height="40" app:scale_left="15" app:scale_top="68" app:scale_width="350">

                <TextView
                    android:id="@+id/txtUserName"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:fontFamily="@font/notosans_bold"
                    android:text="김sdsdsdsiojiojlkmlm"
                    android:textColor="@color/color_black"
                    android:maxLines="1"
                    android:ellipsize="end"
                    android:gravity="center_vertical|left"
                    app:scale_height="30"
                    app:scale_left="8"
                    app:scale_textsize="20"
                    app:scale_top="10"
                    app:scale_width="140"
                    app:textview_wrapcontent_scale_maxwidth="145"
                    app:textview_wrapcontent_direction="right"
                    app:textview_wrapcontent_movesiblings="true"
                    app:textview_wrapcontent_resizesurrounded="true"/>

                <TextView
                    android:id="@+id/txtUserInfo"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:fontFamily="@font/notosans_regular"
                    android:text="(Female, 49 y/o)"
                    android:textColor="@color/color_black"
                    android:includeFontPadding="false"
                    app:scale_height="25"
                    app:scale_left="148"
                    app:scale_textsize="16"
                    app:scale_top="15"
                    app:scale_width="130"
                    app:textview_wrapcontent_direction="right"
                    app:textview_wrapcontent_movesiblings="true"
                    app:textview_wrapcontent_resizesurrounded="true"/>

                <ImageButton
                    android:id="@+id/imgPatient"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@drawable/img_patient_settings"
                    app:scale_height="22"
                    app:scale_left="283"
                    app:scale_top="15"
                    app:scale_width="20" />

            </com.ssomai.android.scalablelayout.ScalableLayout>
ssomai commented 2 years ago

안녕하세요. 상세한 리포트 감사합니다. 확인해본결과 같은 현상이 있는걸 확인했습니다.

그래서 이래저래 시도 해보다가 아래 속성을 제외하면 되는 것으로 확인되었는데 한번 테스트 해봐주시면 될듯합니다. app:textview_wrapcontent_direction="right"

LEEbyeonghoon2 commented 2 years ago

안녕하세요, 지금 확인했네요..ㅠㅠ 해당 속성을 제외하면 잘 표출되는것을 확인했는데 해당 속성이 필요해서 넣어야되는 상황입니다...

해당 속성을 유지한채 ellipsize를 적용시키는 방법이 없을까요?