Saya mencoba membuat aplikasi asli reaksi yang terlihat seperti aplikasi web yang ada. Saya memiliki catatan kaki tetap di bagian bawah jendela. Adakah yang tahu bagaimana hal ini dapat dicapai dengan reaksi asli?
dalam aplikasi yang sudah ada itu sederhana:
.footer {
position: fixed;
bottom: 0;
}
react-native
4ega
sumber
sumber
height
ke footer View dan terlihat bagus pada 4s dan 6Berikut kode aktual berdasarkan jawaban Ramsay Colin:
sumber
Saya menggunakan footer tetap untuk tombol di aplikasi saya. Cara saya menerapkan footer tetap adalah seperti ini:
Dan jika perlu footer untuk bergerak ke atas ketika keyboard muncul misalnya Anda dapat menggunakan:
Kemudian gunakan {bottom: this.state.btnLocation} di kelas footer tetap Anda. Saya harap ini membantu!
sumber
import { Keyboard} from 'react-native'; Keyboard.addListener('keyboardWillShow', this.showHandler)
sebagai gantinya.Anda mendapatkan Dimensi pertama dan kemudian memanipulasi melalui gaya fleksibel
Dalam render
Metode lainnya adalah dengan menggunakan flex
sumber
@Alexander Terima kasih atas solusinya
Di bawah ini adalah kode persis apa yang Anda cari
Di bawah ini adalah Screenshot
sumber
Anda mungkin juga ingin melihat NativeBase ( http://nativebase.io ). Ini adalah pustaka komponen untuk React Native yang menyertakan beberapa struktur tata letak yang bagus ( http://nativebase.io/docs/v2.0.0/components#anatomy ) termasuk Header dan Footer.
Ini agak mirip Bootstrap untuk Seluler.
sumber
Hal-hal sederhana di sini:
sumber
Di bawah ini adalah kode untuk mengatur footer dan elemen di atas.
sumber
Cara saya melakukan ini adalah memiliki tampilan (sebut saja P) dengan flex 1, lalu di dalam view tersebut memiliki 2 lebih banyak view (C1 dan C2) dengan flex 0,9 dan 0,1 masing-masing (Anda dapat mengubah ketinggian flex ke nilai yang diperlukan) . Lalu, di dalam C1 ada scrollview. Ini bekerja dengan baik untuk saya. Contoh di bawah ini.
sumber
Orang bisa mencapai sesuatu yang mirip dengan yang asli
position: absolute
Ada beberapa hal yang perlu diingat.
absolute
memposisikan elemen relatif terhadap induknya.Definisi gaya praktis akan terlihat seperti ini:
sumber
Saya menemukan menggunakan flex menjadi solusi paling sederhana.
sumber
Ketika flex adalah angka positif, itu membuat komponen fleksibel dan ukurannya akan sebanding dengan nilai flex-nya. Jadi komponen dengan set flex ke 2 akan mengambil dua kali ruang sebagai komponen dengan set flex ke 1.
sumber
Cara terbaik adalah dengan menggunakan properti justifyContent
jika Anda memiliki beberapa elemen tampilan di layar, maka Anda dapat menggunakannya
sumber
kemudian di tulis gaya ini
bekerja seperti pesona
sumber
Untuk masalah Android dengan ini:
di app / src / AndroidManifest.xml ubah windowSoftInputMode menjadi yang berikut.
Saya sama sekali tidak punya masalah dengan ini di ios menggunakan react-native dan keyboardAwareScroll. Saya akan menerapkan satu ton kode untuk mencari tahu ini sampai seseorang memberi saya solusi ini. Bekerja dengan sempurna.
sumber
jika Anda hanya menggunakan reaksi asli sehingga Anda dapat menggunakan kode berikut
juga, Anda dapat menggunakan https://docs.nativebase.io/ dalam proyek asli reaksi Anda dan kemudian melakukan sesuatu seperti berikut ini
React_Native
NativeBase.io
sumber
Set android: windowSoftInputMode = "AdjustPan" di file manifes Anda, dan itu akan berfungsi seperti yang Anda harapkan.
sumber
Saya pikir yang terbaik dan mudah akan seperti di bawah ini, hanya menempatkan sisa tampilan Anda dalam konten dan footer dalam tampilan terpisah.
atau Anda dapat menggunakan footer dari basis-asli
sumber
Saran 1
=> Tubuh dengan footer tetap
Edit 2
=> Badan & Footer Tetap dengan tab
Catatan
Keuntungan
Kita dapat menggunakan catatan kaki sederhana ini tanpa bereaksi navigasi bawah
sumber