2011-11-23 12 views
6

İlk gerçek android uygulamasını planlıyorum ve evrensel bir uygulama (tablet ve telefon) olmasını istiyorum. Düzen, önceki liste görünümü tarafından doldurulan üç liste görünümü olacaktır (liste listesi her zaman öğelerin listesiyle aynıdır, liste iki listeye göre bir liste doldurulur, liste üç liste seçeneğine göre listelenir. Bu liste iki liste seçeneğine göre & . Liste üçteki bir öğe seçildiğinde, detaylar öğeyle ilgili olarak gösterilir. FYI, veri bir XML dosyasında (muhafaza hiyerarşisi) ve detaylar yaprak düğümleridir.Evrensel (tablet & telefon) uygulaması - nasıl en iyi yapı - çoklu düzen xml veya widget/göster/gizle?

İki düzenim olmasını planlıyorum. Tablet için, tüm üç liste görünümüne ve aynı ekrandaki ayrıntılara sahip olacağım. Telefon için, her bir listenin tüm ekranı kaplamasını ve seçili olan bir öğeyi, bir sonraki liste görünümüne geçişi (bir önceki listeye gitmek için üstte ve ayrıca seçimin ne olduğu hakkında bilgi) (ler) önceki listelerden alınmıştır). Üçüncü listeden bir öğe seçildiğinde, baştan başlamak için bir düğmenin de yer aldığı ayrıntılar sayfasını gösterin (örn. Ilk liste görünümüne geri dönün).

Tablet görünümü çok iyi çalışıyor, çünkü bu en basit (yalnızca bir ekran, geçiş yok) - hepsi de layout/main.xml dosyasında. Aynı zamanda farklı ana ekranlar (mizanpaj, mizanpaj, küçük, mizanpaj-xlarge) için farklı düzenlerim var.

Nihayet, sorum şu: Farklı kullanıcı deneyimi yaşarken listeleri doldurmak için aynı kodu nasıl kullanırım? Ben bir düzen dosyası (main.xml) yaşamaya devam etmelidir, iki seçenek telefon için

  1. (daha/daha iyi seçenekler ekleyin) görmek ve sadece her üstündeki her üç listeleri ve ayrıntıları olabilir Diğer ve slayt geçişi aracılığıyla, widget'ları göster/gizle? (ilk başta sadece ilk liste görünümü görünür, ikinci liste görünümü gizlenir, üçüncü liste görünümü gizlenir, ayrıntılar gizlenir)

  2. Telefondaki her ekran için bir düzen xml kullanmalıyım (main.xml - başlangıç ​​listesi görünümü, list2.xml, list3.xml ve details.xml)? o bir tablet ise

belirlemek için ya da değil, ben Google I/O uygulamasından kodu kullanmayı planlıyor
Developing an universal android application (phone and tablet)

DÜZENLEME (2011/11/29)
Bulunan bazı iyi çevrimiçi kaynaklar konusunda fragmanlar:
http://android-developers.blogspot.com/2011/02/android-30-fragments-api.html
http://portabledroid.wordpress.com/2011/06/22/25/
http://portabledroid.wordpress.com/2011/06/23/multi-platform-fragments-part-ii/
ve beraberindeki Video:
http://www.youtube.com/watch?v=4BKlST82Dtg

cevap

İlgili konular