Android uygulamasında bir metin görünümü içeren bir kaydırma görüşüm var. Bu metin görünümü, belirli aralıklarla sürekli olarak eklenmiş metin içerecektir. Kaydırma çalışmaları ve metin iyi bir ek oluşturur, ancak yapmak istediğim, metin eklendiğinde kaydırma görünümünün otomatik olarak aşağı kaydırılmasıdır. Altta yeni metin eklendiğinde, otomatik olarak aşağı doğru eşleşir ve eski metin yukarıdan dışarı itilir. Daha da iyi olan şey, kaydırma görünümünün altına metin eklemek ve eski metni yukarı doğru ittirmek, ancak her seferinde bir şeydir. Metin eklendiğindeMetin eklendiğinde otomatik kaydırma otomatik olarak kaydırılıyor
cevap
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
>
<TextView
android:id="@+id/statusText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom" />
</ScrollView>
Teşekkürler, bu benim için çalıştı. – BostonGeorge
Sadece alta bütün ScrollView
ilerleyebilirsiniz.
textView.append(text);
scroll.fullScroll(View.FOCUS_DOWN)
Bir scroll.post çağrısının içinde fullScroll'u çağırmayı unutmayın –
textView.append(text);
scroll.fullScroll(View.FOCUS_DOWN)
bu sorunu verecektir, bu aşırı üst kadar kaydırma olmaz dolayı android:layout_gravity="bottom"
mükemmel çözüm, teşekkürler –
Bu, yanıt olarak işaretlenmelidir. – busuu
Ben yerçekimi ile çözüm denedim ama sonuç gerçek metnin altında boş bir alan bir sürü oldu aşağıya kaydırıldığında.
Bu başka bir yoldur.
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:fillViewport="true" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</ScrollView>
Ve
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
//some code here
ScrollView scrollView1 = (ScrollView) findViewById(R.id.scrollView1);
TextView textView1 = (TextView) findViewById(R.id.textView1);
textView1.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable arg0) {
scrollView1.fullScroll(ScrollView.FOCUS_DOWN);
// you can add a toast or whatever you want here
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
//override stub
}
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
//override stub
}
}) }
Aslında ben uygulama metin her değiştiğinde, sadece eklenmez kayar şu an fark addTextChangedListener
define: Sen scrollview içinde TextView'un yerleştirebilirsiniz. Ancak benim için iyi çalışıyor.Bu benim için çalışan tek şey (API 23). 'Android: layout_gravity = "alt" hilesi, manuel olarak yukarı kaydırmamı sağladı ve metnin altına bol miktarda boş alan ekliyordu. Bu, boş alan eklemiyor ve normal olarak kaydırmaya izin veriyor. – Shlublu
Şey ... bunu dikkate almayın. Aptalca ben yerçekimi ilk bakışta metin görünümünde (alttan görünüşe) "alt" olarak ayarlamıyorum. Bunu yapmak yeni metni en altta tutar ve yeni metne göre kaydırır. Yuppi! – AndroidHopeful
çözümünüz hakkında bir cevap yazabilir ve ardından seçili olarak işaretleyebilirsiniz. Diğer insanlar aynı problemle karşılaştıklarında, bir çözümün olduğunu görecekler. – Shade
bu harika bir çözümdür ve cevap olarak göndermelisiniz. –