Diferença entre View e ViewGroup no Android

Respostas:

129

Visão

  1. View os objetos são os blocos de construção básicos dos elementos da interface do usuário (IU) no Android.
  2. View é uma caixa retangular simples que responde às ações do usuário.
  3. Exemplos são EditText, Button, CheckBoxetc ..
  4. Viewrefere-se à android.view.Viewclasse, que é a classe base de todas as classes de IU.

ViewGroup

  1. ViewGroupé o recipiente invisível. Segura VieweViewGroup
  2. Por exemplo, LinearLayouté o ViewGroupque contém Button (View) e outros Layouts também.
  3. ViewGroup é a classe base para Layouts.
saibaba vali
fonte
10
também acho que vale a pena notar, ViewGroup é uma subclasse de View
Pinkerton
Portanto, se ViewGroup é uma subclasse de View significa que View é uma classe base para Layouts, não ViewGroup?
Shivanshu
1
@Shivanshu Depende do que você entende por "classe base". A classe, Viewpor sua vezObject , se estende , então você diria que Objecté uma classe base para layouts?
horcrux de
57

Abaixo da imagem está a resposta . Não tome isso muito complexo.

insira a descrição da imagem aqui

Kenju
fonte
7
Direto ao ponto. A imagem explica de forma muito pragmática, o que é bom, mas a definição da resposta acima também parece necessária para acrescentar algo importante à resposta como um todo.
ivanleoncz
31
  1. A ViewGroupé uma visão especial que pode conter outras visões (chamadas de filhos). O grupo de visão é a classe base para layouts e containers de visões. Essa classe também define a ViewGroup.LayoutParamsclasse que serve como classe base para os parâmetros de layout.

    Viewclasse representa o bloco de construção básico para componentes da interface do usuário. Uma View ocupa uma área retangular na tela e é responsável pelo desenho e tratamento dos eventos. View é a classe base para widgets, que são usados ​​para criar componentes de UI interativos (botões, campos de texto, etc.).

  2. Exemplo: ViewGroup (LinearLayout), View (TextView)

Referência

Munawwar Hussain Shelia
fonte
14

Viewé um bloco de construção básico de UI(Interface do usuário) no Android. Uma visualização é uma pequena caixa retangular que responde às entradas do usuário. Por exemplo: EditText, Button, CheckBox, etc ..

ViewGroupé um contêiner invisível de outras visualizações (visualizações filhas) e outros grupos de visualização. Ex: LinearLayouté um grupo de visualização que pode conter outras visualizações.

ViewGroupé um tipo especial de visão que é estendido de View como sua classe base. ViewGroupé a classe base para layouts.

como nome indica View é singular e o grupo de Views é o ViewGroup.

mais informações: http://www.herongyang.com/Android/View-ViewGroup-Layout-and-Widget.html

MS Gadag
fonte
4

ViewGroupé ele próprio um Viewque funciona como um contêiner para outras visualizações. Ele estende a funcionalidade da Viewclasse para fornecer maneiras eficientes de fazer o layout das visualizações filhas.

Por exemplo, LinearLayouté um ViewGroupque permite definir a orientação na qual deseja que as vistas filhas sejam colocadas, isso é tudo que você precisa fazer e LinearLayoutcuidará do resto.

Varundroid
fonte
2

em ViewGroupvocê pode adicionar alguns outros Views como criança. ViewGroupé a classe base para layouts e view containers.

Mohammad Rahchamani
fonte
1

Viewé o componente SuperClass of All como TextView, EditText, ListView,etc., enquanto ViewGroupé Collection of Views (TextView, EditText, ListView, etc..), algo como container.

Prashant Jajal
fonte
1

Um objeto View é um componente da interface do usuário (IU) como um botão ou uma caixa de texto, e também é chamado de widget.

Um objeto ViewGroup é um layout, ou seja, um contêiner de outros objetos ViewGroup (layouts) e objetos View (widgets). É possível ter um layout dentro de outro layout. É chamado de layout aninhado, mas pode aumentar o tempo necessário para desenhar a interface do usuário.

A interface do usuário para um aplicativo é construída usando uma hierarquia de objetos ViewGroup e View. No Android Studio é possível usar a janela Component Tree para visualizar esta hierarquia.

O Layout Editor no Android Studio pode ser usado para arrastar e soltar objetos View (widgets) no layout. Simplifica a criação de um layout.

bart
fonte
1

Em palavras simples, View é o elemento da IU com o qual interagimos quando usamos um aplicativo, como botão, texto de edição e imagem, etc.View é a classe filha de Android.view.View Enquanto o grupo View é o contêiner que contém todas essas visualizações dentro além de vários outros grupos de visualização, como linear ou layout de quadro, etc. Exemplo: se projetarmos e tomarmos o elemento raiz como layout linear, agora nosso layout principal é o layout linear dentro dele, podemos pegar outro grupo de visualização (ou seja, outro layout linear) e muitos outros visualizações como botões ou visualização de texto etc.

Bhupinder Singh
fonte
0

Um ViewGroup descreve o layout das Visualizações em seu grupo. Os dois exemplos básicos de ViewGroups são LinearLayout e RelativeLayout. Quebrando o LinearLayout ainda mais, você pode ter o Vertical LinearLayout ou o Horizontal LinearLayout. Se você escolher Vertical LinearLayout, suas visualizações serão empilhadas verticalmente na tela. Os dois exemplos mais básicos de Views são TextView e Button. Portanto, se você tiver um ViewGroup de Vertical LinearLayout, suas visualizações (por exemplo, TextViews e botões) se alinhariam verticalmente em sua tela.

Quando os outros pôsteres mostram ViewGroups aninhados, o que eles significam é, por exemplo, uma das linhas em meu Vertical LinearLayout pode, na verdade, no nível inferior, ter vários itens organizados horizontalmente. Nesse caso, eu teria um Horizontal LinearLayout como um dos filhos do meu Vertical LinearLayout de nível superior.

Exemplo de ViewGroups aninhados:
Parent ViewGroup = Vertical LinearLayout

Row1: TextView1
Row2: Button1
Row3: Imagem TextView2 Button2 <- Linear horizontal aninhado em Linear Vertical
Row4: TextView3
Row5: Button3

sv Tutor de matemática
fonte
1
Exemplo de grupos de visualizações aninhados:
sv Tutor de matemática