2012-11-08 18 views
5

Ben sadece (varsayılan) paketindeki özel Görüntüleme koyabilirsiniz anlamayaÖzel Görünümler (Android) ile xml'de tam paket adını kullanmamanın bir yolu var mı?

<TextViewPlus 
    android:id="@+id/settings_title_text" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:text="@string/settings /> 

yerine

<com.my.really.super.long.package.name.that.wont.autocomplete.TextViewPlus 
    android:id="@+id/settings_title_text" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:text="@string/settings /> 

böyle bir şey yapmak istiyorum, ama bu kötü bir fikir gibi görünüyor. (DÜZENLEME: Ve bunu test ettikten sonra, işe yaramıyor) Bunu yapmak için “iyi” bir yol var mı?

cevap

3

Hayır, AFAIK tam adıyla gitmek zorunda kalacaksınız.

+0

İlk sizdiniz, yani eğer bu gerçekten bir cevap ise, onu böyle işaretleyeceğim. :) – loeschg

+3

Elde edeceğiniz tek kısayol, xmlns: custom (http://developer.android.com/training/custom-views/create-view.html) kullanarak özel nitelikler için ad alanını kısaltmak istiyorsanız) –

+0

@ Hata454, teşekkürler! Bu tekniği özel nitelikler için kullanıyorum. – loeschg

0

LayoutInflater.setFactory (LayoutInflater.Factory), çalışma zamanında etiket adı verildiğinde özel görünüm nesnesi oluşturmayı gerçekleştiren bir nesne belirlemenize olanak tanır. Bu yapmak istediğiniz şeyi elde etmek için kullanılabilir. Var olan varsayılan fabrika nesnesini almak için ilk önce getFactory() öğesini ve özel görünümler olmayan tüm görünüm adları için bunu kullanırdım.

İlgili konular