Rumah > Java > javaTutorial > Bagaimana untuk Menghitamkan Teks dalam Kawalan TextView dalam Android?

Bagaimana untuk Menghitamkan Teks dalam Kawalan TextView dalam Android?

Barbara Streisand
Lepaskan: 2024-11-09 18:26:02
asal
1014 orang telah melayarinya

How to Paginate Text within a TextView Control in Android?

Menombor Teks dalam Android

Masalah:

Menomborkan teks dalam kawalan TextView dalam Android memerlukan penentuan bila dan bagaimana untuk memecahkan teks ke dalam halaman. Ini boleh mencabar kerana algoritma pemisah baris dan pemecah halaman TextView tidak mudah diakses, menjadikannya sukar untuk mengenal pasti di mana teks berakhir pada paparan sebenar.

Penyelesaian:

Dengan memantau julat teks yang boleh dilihat menggunakan ViewTreeObserver, adalah mungkin untuk menjejaki baris terakhir yang sesuai sepenuhnya dalam paparan ketinggian. Ini membolehkan penciptaan halaman berdasarkan ketinggian kumulatif garisan, memastikan halaman dipecahkan apabila garisan ditemui melebihi ruang menegak yang tersedia.

Algoritma:

  1. Lelaran melalui baris teks dan semak sama ada bahagian bawah baris melebihi paparan ketinggian.
  2. Jika ya, pecahkan halaman baharu dan hitung nilai ketinggian terkumpul baharu berdasarkan bahagian atas baris terakhir yang tidak muat pada halaman sebelumnya serta ketinggian paparan.

Pelaksanaan:

Untuk melaksanakan algoritma ini, gunakan yang berikut kod:

// Setup code
ViewTreeObserver vto = txtViewEx.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        ViewTreeObserver obs = txtViewEx.getViewTreeObserver();
        obs.removeOnGlobalLayoutListener(this);
        height = txtViewEx.getHeight();
        scrollY = txtViewEx.getScrollY();
        Layout layout = txtViewEx.getLayout();
        firstVisibleLineNumber = layout.getLineForVertical(scrollY);
        lastVisibleLineNumber = layout.getLineForVertical(height + scrollY);
    }
});
Salin selepas log masuk

Nota:

Penyelesaian ini memancarkan penomboran teks dengan cekap sambil menghormati ketinggian baris dan jarak aksara. Ia juga mengendalikan aksara khas dan perubahan teks dinamik.

Atas ialah kandungan terperinci Bagaimana untuk Menghitamkan Teks dalam Kawalan TextView dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan