Bir haftadan fazla bir süre bununla mücadele ettim ve nihayet bu işin nasıl yapılacağını anladım!
Benim sorunum her şeyin bir 'blok' olarak kaydırılacağıydı. Metnin kendisi kayıyor, ancak satır satır değil, yığın olarak. Bu benim için işe yaramadı, çünkü alt kısımdaki çizgileri kesecekti. Önceki çözümlerin hepsi benim için işe yaramadı, bu yüzden kendi çözümlerimi hazırladım.
Şimdiye kadarki en kolay çözüm:
Bir paketin içinde 'PerfectScrollableTextView' adlı bir sınıf dosyası oluşturun, ardından bu kodu kopyalayıp içine yapıştırın:
import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.widget.TextView;
public class PerfectScrollableTextView extends TextView {
public PerfectScrollableTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setVerticalScrollBarEnabled(true);
setHorizontallyScrolling(false);
}
public PerfectScrollableTextView(Context context, AttributeSet attrs) {
super(context, attrs);
setVerticalScrollBarEnabled(true);
setHorizontallyScrolling(false);
}
public PerfectScrollableTextView(Context context) {
super(context);
setVerticalScrollBarEnabled(true);
setHorizontallyScrolling(false);
}
@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;
}
}
Son olarak 'TextView' öğenizi XML'de değiştirin:
Gönderen: <TextView
Kime: <com.your_app_goes_here.PerfectScrollableTextView
maxLines
rastgele bir sayı girmenizi gerektirir; bu her ekran boyutu ve yazı tipi boyutu için işe yarayacak bir şey değil mi? Ben sadece bir ile sarmak için daha basit buluyorumScrollView
, yani (XML yöntemini ayarlamak gibi) başka XML öznitelikleri veya kod eklemek zorunda değilsiniz.