Saya telah melihat beberapa obrolan tentang ini, tetapi tidak ada yang pasti. Apakah ada cara untuk meletakkan tab di TabWidget ke bagian bawah layar? Jika ya, bagaimana caranya?
Saya sudah mencoba yang berikut ini, tetapi tidak berhasil:
a) mengatur tabwidget di bawah framelayout
b) mengatur gravitasi tabwidget ke "bawah"
Terima kasih! llappall
Jawaban:
Inilah solusi paling sederhana, paling kuat, dan dapat diskalakan untuk mendapatkan tab di bagian bawah layar.
layout_height
kewrap_content
pada kedua FrameLayout dan TabWidgetandroid:layout_weight="1"
android:layout_weight="0"
(0 adalah default, tetapi untuk penekanan, keterbacaan, dll)android:layout_marginBottom="-4dp"
(untuk menghapus pembagi bawah)Kode lengkap:
sumber
layout_weight=1
pada FrameLayout. Ini memungkinkan kontrol tab untuk "mengklaim" tingginya dari LinearLayout terlebih dahulu.android:layout_marginBottom="-5px"
ke TabWidget. Ini akan memindahkan TabWidget dari bagian bawah layar 5 piksel, cukup sehingga Anda tidak melihat pembagi. FrameLayout akan mengkompensasi ukurannya sehingga bekerja dengan sempurna. Saya tidak yakin apakah ukuran pembagi berubah pada perangkat yang lebih besar atau tidak. Anda mungkin harus menggunakandp
bukanpx
.Cobalah;) Cukup tonton konten FrameLayout (@ id / tabcontent), karena saya tidak tahu bagaimana ini akan menangani jika menggulir ... Dalam kasus saya ini berfungsi karena saya menggunakan ListView sebagai konten dari tab saya. . :) Semoga ini bisa membantu.
sumber
Ada cara untuk menghapus garis.
1) Ikuti tutorial ini: android-tab-dengan-fragmen
2) Kemudian terapkan perubahan RelativeLayout yang disarankan Leaudro di atas (terapkan alat peraga tata letak untuk semua FrameLayouts).
Anda juga dapat menambahkan ImageView ke tab.xml di item # 1 dan mendapatkan tampilan seperti iPhone di tab.
Ini adalah screenshot dari apa yang saya kerjakan saat ini. Saya masih memiliki beberapa pekerjaan yang harus dilakukan, terutama membuat pemilih untuk ikon dan memastikan distribusi horizontal yang sama, tetapi Anda mendapatkan ide. Dalam kasus saya, saya menggunakan fragmen, tetapi prinsipal yang sama harus diterapkan ke tampilan tab standar.
sumber
Tidak yakin apakah itu akan berfungsi untuk semua versi Android (terutama yang dengan hal-hal UI khusus), tetapi saya dapat menghapus bilah abu-abu di bagian bawah dengan menambahkan
ke TabWidget XML ...
sumber
Bagi Anda yang mencoba menghapus garis pemisah dari tabWidget, berikut ini adalah proyek contoh (dan tutorialnya masing-masing), yang berfungsi bagus untuk menyesuaikan tab dan dengan demikian menghilangkan masalah ketika tab berada di bagian bawah. Eclipse Project: android-custom-tabs ; Penjelasan asli: blog ; Semoga ini bisa membantu.
sumber
Ada dua cara untuk menampilkan tab di bagian bawah aktivitas tab.
Silakan periksa tautan untuk detail lebih lanjut .
sumber
sumber
Ini mungkin bukan apa yang Anda cari (ini bukan solusi "mudah" untuk mengirim Tab Anda ke bagian bawah layar) tetapi tetap merupakan solusi alternatif yang menarik yang ingin saya beri tanda kepada Anda:
ScrollableTabHost dirancang untuk berperilaku seperti TabHost, tetapi dengan scrollview tambahan agar sesuai dengan lebih banyak item ...
mungkin dengan menggali proyek sumber terbuka ini Anda akan menemukan jawaban untuk pertanyaan Anda. Jika saya melihat sesuatu yang lebih mudah, saya akan kembali kepada Anda.
sumber
Saya mengalami masalah yang sama dengan tab android ketika mencoba menempatkannya di bagian bawah layar. Skenario saya adalah tidak menggunakan file tata letak dan membuat tab dalam kode, saya juga mencari untuk memecat aktivitas dari masing-masing tab yang tampaknya agak terlalu rumit menggunakan pendekatan lain jadi, berikut ini contoh kode untuk mengatasi masalah:
menambahkan-tab-di-android-dan-menempatkan-mereka
sumber
Ya, lihat: tautan , tetapi ia menggunakan tata letak xml, bukan aktivitas untuk membuat tab baru, jadi letakkan kode xml-nya (atur paddingTop untuk FrameLayout - 0px) lalu tulis kode:
}
sumber
Saya sarankan menggunakan kode ini untuk pekerjaan yang stabil, itu dioptimalkan untuk fragmen bersarang di tab (misalnya MapFragment bersarang) dan diuji pada "jangan menyimpan kegiatan": https://stackoverflow.com/a/23150258/2765497
sumber