2016-04-09 8 views
0

birden sekmeler/bölümleri ile klavyeyi nasıl yapılır başarıyla this tutorial dışına göre Android için çok temel bir özel klavye yaptık.Android

Şimdi ben merak etmiştim bitmiş olduğunu, birden sekme vardır Android'de bir klavyeyi yapmak mümkündür.

Örnek olarak normalde klavye AZ harflerine sahip olur, ancak kullanıcı üstte bir düğmeyi tıklarsa, klavye 1 - 10 sayılarına geçer ve kullanıcı üstteki başka bir düğmeye tıklarsa klavye açılır. Yunan harfleri. Bunu açıklamak olabilir

başka yolu da programlı hangi xml düzenini klavye kullanacak dosyasını değiştirmek için zaten var mı, yani?

İşte bir örnek. Burada "sekmeler", klavyenin üst kısmında saat, surat, taç, çiçek, araba, üçgen ve yazı yüzeyi sembolleridir.

enter image description here

cevap

1

İşte basit bir düzeltme.

case 37: 
      keyboard = new Keyboard(this, R.xml.qwerty2); 
      kv.setKeyboard(keyboard); 
      kv.setOnKeyboardActionListener(this); 
      break; 

düğmesi klavyenin XML düzenini geçer: Burada

private KeyboardView kv; 
private Keyboard keyboard; 

düğmeye basıldığında ne olur kodudur:

kullandığım servis sınıfı bu iki değişkeni içeren .

0

O sekmeler sizin için en iyi yaklaşımdır sanmıyorum.

Sizin için en iyi yaklaşımın, her bir düzen için CustomViews oluşturması, ekrana bir FrameLayout eklenmesi ve görünümü düzenlemeye eklemek, diğerlerini removeAllViews ile kaldırmak olacaktır. İşte CustomViews oluşturmak için öğretici olduğunu: http://developer.android.com/intl/pt-br/training/custom-views/index.html

Başka bir seçenek düzeni tüm özel görünümler eklemek ve görünür olacağı programlama yoluyla değiştirmektir. Ben salık vermek Sakın

bir seçenek fragmanı ile çalışmak olduğunu parçanın yaşam döngüsü karmaşıktır ve sadece sizi rahatsız edecektir.

+0

Özel klavye uygulamasına nasıl entegre edileceğini anlamak için biraz daha fazla ayrıntıya ihtiyacım var. Ben bir KeyboardView kullanmak ve FrameLayout gibi bir şey kullanmam gerektiğini düşündüğümden bu işe yaradığından emin değilim. – Roymunson

+0

@Roymunson daha fazla bilgiye ihtiyacınız varsa, sorunuzda daha fazla ayrıntı vermelisiniz. – jonathanrz