반응형
자료출처 : dev.re.kr/2
앱을 만들다 보니... 화면의 크기는 한계가 있고 나타날 글짜는 많고...
그래서 또 구글링~~~ 그러다가 찾은 것이 위에 있는 링크에서 도움을 받았다.
저 링크에 있는 소스 예제는 android 빌드 버전에 예전꺼 일 때 만든 것 같고...
build 버전 28.0.0 이후 부터는 androidx 로 이전을 해야 하는데, 조금의 설정 수정이 필요해서 수정했다.
androidx.appcompat.widget.AppCompatTextView만 수정한 것 같은 생각이... ㅋㅋㅋ
import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
public class MarqueeTextView extends androidx.appcompat.widget.AppCompatTextView {
String TAG = "MarqueeTextView" ;
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) {
//Log.d(TAG, "getMarqueeRepeatLimit onFocusChanged(" + this.getMarqueeRepeatLimit() + ")") ;
if(focused)
super.onFocusChanged(focused, direction, previouslyFocusedRect);
}
@Override
public void onWindowFocusChanged(boolean focused) {
//Log.d(TAG, "getMarqueeRepeatLimit onWindowFocusChanged (" + this.getMarqueeRepeatLimit() + ")") ;
if(focused)
super.onWindowFocusChanged(focused);
}
@Override
public boolean isFocused() {
return true;
}
}
위와 같이 수정하고 나서, layout 에서는
<MarqueeTextView
android:id="@+id/tv1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:ellipsize="marquee"
android:fontFamily="@font/noto_sans_bold"
android:gravity="center_horizontal|center_vertical"
android:includeFontPadding="false"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:textSize="12sp" />
와 같이 TextView 을 추가하고 그 안에 값을 넣어주면 흐르는 글씨를 만들 수 있다.
기본 제공되는 TextView 에서도
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
위 2개 항목을 넣어주면 같은 처리가 되기는 하지만, 해당 TextView 에 포커스가 가 있는 경우만 글자가 흐르기 때문에
위에서 보여준 것 처럼 나만의 TextView 로 수정을 해서 사용하게 되면 항상 흐르는 글짜를 볼 수 있다.
다만, ListView 에 넣어 사용하게 되는 경우는 좀 헛짓를 하는 경우가 있기는 했다.
반응형
'모바일 앱(안드로이드)' 카테고리의 다른 글
안드로이드 앱 만들기 Kakao 지도 연동... (0) | 2021.03.30 |
---|---|
안드로이드 앱 만들기 Firebase Real time Database 의 활용 (0) | 2021.03.06 |
안드로이드 앱 만들기 계산기 흉내 내보기 (0) | 2021.02.17 |
안드로이드 앱 만들기 Android View Binding 을 하면 뭐가 좋은가 ? (0) | 2021.02.16 |
안드로이드 앱 만들기 Floating Action Button 과 ExpandableFab 의 차이 (0) | 2021.02.16 |