TextView의 글자를 왼쪽에서 오른쪽으로 흐르게하고싶은데 어떻게하죠?

조회수 2362회

앱을 만들고있는데 앱에서 공지사항으로 상단에 텍스트뷰가 계속해서 흐르게 하고싶은데 어떻게 하면 될지 모르겠습니다. 고수님들 가르쳐주세요.

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기
    <TextView
    android:ellipsize="marquee"
    android:singleLine="true"
    android:marqueeRepeatLimit="marquee_forever"/>
    

    이런식으로 속성을 주면되는데 TextView에 포커스가 위치해있을경우에만 흐릅니다. 그렇게 때문에 커스텀 텍스트뷰를 만들어서

    import android.content.Context;
    import android.graphics.Rect;
    import android.util.AttributeSet;
    import android.widget.TextView;
    
    public class MarqueeTextView extends TextView{
        public MarqueeTextView(Context context) {
            super(context);
        }
    
        public MarqueeTextView(Context context, AttributeSet attributeSet) {
            super(context, attributeSet);
        }
    
        @Override
        protected void onFocusChanged(boolean focused, int direction, Rect
          previouslyFocusedRect) {
            if(focused)
            super.onFocusChanged(focused, direction, previouslyFocusedRect);
        }
    
        @Override
        public void onWindowFocusChanged(boolean focused) {
            if(focused)
                super.onWindowFocusChanged(focused);
        }
    
        @Override
        public boolean isFocused() {
            return  true;
        }
    }
    

    이렇게 해주고 레이아웃xml에서는 TextView를 커스텀 텍스트뷰로 바꿔주어야합니다.

    <com.test.MarqueeTextView
    android:id="@+id/textViewTitleOnDrawBar"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent""
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:singleLine="true"
    android:text="흐르는 텍스트~~~~~~~~~"/>
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)