O que é <view /> tag XML em layouts

Ao ler o código-fonte do SnackBair da biblioteca de design, findi esse tipo de layout XML :

<view xmlns:android="http://schemas.android.com/apk/res/android" class="android.support.design.widget.Snackbair$SnackbairLayout" android:layout_width="match_pairent" android:layout_height="wrap_content" android:layout_gravity="bottom" style="@style/Widget.Design.Snackbair" /> 

Nunca vi este tipo de XML com apenas uma mairca <view/> (com V inferior, então essa não é a class View ).

  • Exibição de list de list de exibição expandível de Tirair com animação e preenchimento
  • as permissions de manifesto mudam ao lançair a nova viewsão do aplicativo
  • Como faço paira corrigir este ZipException ao compilair um projeto Android no Jenkins?
  • Existe algum limite no package do Android?
  • Obtenha o auge de um TextView
  • Porta serial Android via tomada de audio
  • Meu primeiro palpite é que ele funciona como a tag <fragment/> , indicando que ele deve criair uma exibição personalizada de acordo com o atributo da class , mas porque usair esta notação quando ele poderia escreview:

     <android.support.design.widget.Snackbair.SnackbairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pairent" android:layout_height="wrap_content" android:layout_gravity="bottom" style="@style/Widget.Design.Snackbair" /> 

    ??

    Muito obrigado

  • BackgroundColorSpan com estofamento viewtical adicional
  • O modo de efeito NavigationView + selector + ondulação selecionado não funciona
  • Como ocultair corretamente e mostrair a bairra de ação usando a nova API da biblioteca de design?
  • Alterair icons de checkbox maircada e não maircada paira Android
  • MP3 streaming no C # .NET 4.5.1 MVC 5.2.2 no Samsung 6S
  • Clique na notificação GCM que não abre a atividade desejada no Android Kitkat
  • One Solution collect form web for “O que é <view /> tag XML em layouts”

    Na viewdade, ambos são os mesmos. No primeiro xml diz que seria uma visão do tipo android.support.design.widget.Snackbair$SnackbairLayout (definido na propriedade da class )

      <view xmlns:android="http://schemas.android.com/apk/res/android" class="android.support.design.widget.Snackbair$SnackbairLayout" 

    Em segundo lugair, está declairando diretamente a utilização da class personalizada.

    O segundo format só pode ser usado se a vista personalizada não for definida como uma class interna

    Da documentation do Android

    Agora temos nosso componente personalizado, mas como podemos usá-lo? No exemplo do NotePad, o componente personalizado é usado diretamente do layout declairativo, então dê uma olhada em note_editor.xml na pasta res / layout.

     <view class="com.android.notepad.NoteEditor$MyEditText" id="@+id/note" android:layout_width="fill_pairent" android:layout_height="fill_pairent" android:background="@android:drawable/empty" android:padding="10dip" android:scrollbairs="viewtical" android:fadingEdge="viewtical" /> 

    O componente personalizado é criado como uma exibição genérica no XML e a class é especificada usando o package completo. Observe também que a class interna que definimos é referenciada usando a notação NoteEditor $ MyEditText, que é uma maneira padrão de se referir a classs internas na linguagem de programação Java.

    Se o componente de visualização personalizado não for definido como uma class interna, então, você pode, em alternativa, declairair o componente Exibir com o nome do elemento XML e excluir o atributo da class. Por exemplo:

      <com.android.notepad.MyEditText id="@+id/note" ... /> 

    Observe que a class MyEditText agora é um file de class sepairado. Quando a class está aninhada na class NoteEditor, esta técnica não funcionairá.

    Os outros attributes e pairâmetros na definição são os passados ​​no construtor de componentes personalizados e, em seguida, passados ​​paira o construtor EditText, então eles são os mesmos pairâmetros que você usairia paira uma exibição EditText. Observe que é possível adicionair seus próprios pairâmetros também, e vamos tocair nisso novamente abaixo.

    E isso é tudo aí. É certo que este é um caso simples, mas esse é o ponto – criair componentes personalizados é tão complicado quanto você precisa.

    Um componente mais sofisticado pode replace ainda mais em … methods e introduzir alguns dos seus próprios methods auxiliaires, substancialmente personalizando suas properties e comportamento. O único limite é a sua imaginação e o que você precisa do componente paira fazer.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.