2015-07-28 19 views
6

MyView adlı özel bir görünüm oluşturduğumu ve bunu xml'de kullanmak istediğimi ve görünümün com.example paketinde bulunduğunu varsayalım. Böyle bir şey yapmanız gerekir:Özel görünüm adlarını kısaltmak mümkün mü?

<com.example.MyView 
    ...... 
/> 

Ben paket adı Ben görünümü kullanmak her zaman yazmak gerekir. Uzun bir paket ismim varsa ne olur? Sadece çirkin görünüyor

<what.a.long.long.long.loooooong.packagename.MyView 
    ...... 
/> 

. Paket adını kısaltmak mümkün mü? AndroidManifest.xml dosyasında bir şey yapmam gerekiyor mu?

+1

: örneğin 'custom.MyView' gibi bir şey kullanmak ve kullanabilirsiniz' LayoutInflater # setFactory [2] ' – pskink

+0

@pskink Can Çözümü biraz daha açıklıyor musunuz yoksa cevap olarak mı yayınlıyorsunuz? – Sweeper

+0

'Factory'/'Factory2' arayüzünü kullanarak,' onCreateView' içinde özel görünümler oluşturabilir, javadocs şöyle diyor: **" LayoutInflater'dan şişirirken bu kaynağı çağrıştırabilirsiniz. Etiket adlarını özelleştirmek için bunu kullanabilirsiniz. XML düzen dosyalarınızda kullanılabilir. "** – pskink

cevap

3

kendi ad tanımlayın.

Hatta etiketi kendi içinde ad kullanabilirsiniz: Emin

<x:MyView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:x="what.a.long.long.long.loooooong.packagename." 
    /> 
1

Kitaplığımı XmlTag kullanabilirsiniz. @XmlTag ile ek açıklama eklediğiniz her View'un kısa adını kullanmanızı sağlar. ad tanımı (bu durumda what.a.long.long.long.loooooong.packagename.) tanımlanır <x: ile başlayan tüm etiketler pakette aranması gerektiğini

<Layout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:x="what.a.long.long.long.loooooong.packagename." 
    > 
    <x:MyView> 
    </x:MyView> 
</Layout> 

xmlns:x spefifies:

XmlTag in action

İlgili konular