10

Androidでは。ViewGroupから継承しViewます。AViewGroupはを保持するコンテナViewsです。

ViewGroup (LinearLayout)
View (TextView)

Androidの人々がこの関係Inheritanceを構成ではなく定義したのはなぜですか。ViewGroup含まれているので、Viewsそれは構成であるべきではありませんか?

4

7 に答える 7

12

私はあなたが言葉遣いにあまりにも夢中になっていると思います。

「ViewGroup」には、「View」から「TextView」、「ImageView」、または...さらに重要な点として「ScrollView」または「SurfaceView」(後者)を継承する理由があります。 2つは両方とも「物を含む」)。

おそらく、「表示」は必ずしも用語の最良の選択ではありませんでした...しかし、クラス階層は完全に理にかなっています。サブクラスの名前に関係なく:)

私見では ...

于 2011-12-23T06:12:43.710 に答える
3

これは、コンポジットデザインパターンの優れた例だと思います。

http://en.wikipedia.org/wiki/Composite_pattern

ネーミングは最高ではないかもしれませんが...

于 2013-05-20T13:03:08.107 に答える
2

Aは、重要な方法でビューとして機能できるためViewGroup、(のサブクラス)です。View

  • レイアウトXMLファイルの要素にすることができます
  • 画面に表示できます(子ビュー、独自の背景色などを表示することにより)
  • ビュー階層の残りの部分と一緒に膨らみます
  • アクティビティのコンテンツビューとして機能できます(経由setContentView()

だからそれは本当にですView

ViewGroupクラス名はビューではなくグループのように聞こえるので、少し混乱することに同意します。扱いにくい場合は、それを呼び出すViewGroupView方が論理的だったかもしれません。

Androidの人々がこの関係を構成ではなく継承として定義したのはなぜですか?ViewGroupにはビューが含まれているので、それは構成ではありませんか?

このような場合、継承と構成は相互に排他的ではありません。ViewGroupはビュー(継承)であり、ViewGroupにはビュー(構成)を含めることができます。

于 2015-08-06T19:59:32.113 に答える
2

公式ドキュメントを読むことが黄金律です。

ViewGroupは、他のビュー(子と呼ばれる)を含めることができる特別なビューです。ViewGroupは、レイアウトおよびビューコンテナの基本クラスです。このクラスは、レイアウトパラメータの基本クラスとして機能するViewGroup.LayoutParamsクラスも定義します。


それでもそれが何であるかわからない場合は、Google画像で検索してください。

ここに画像の説明を入力してください

于 2015-08-28T10:52:46.580 に答える
0

ビューグループはビューのプロパティを継承し、他のビューやビューグループでより多くのことを行います

于 2011-12-23T06:53:08.700 に答える
0

ViewGroupは、他のビューを含めることができる特別なビューです。-ビューグループは、レイアウトおよびビューコンテナの基本クラスです。-たとえば、RelativeLayoutは、TextView(View)およびその他のレイアウトも含むViewGroupです。

情報についてはリンクを参照してください: https ://developer.android.com/reference/android/view/ViewGroup.html

ビューは、ユーザーインターフェイスコンポーネントの基本的な構成要素を表します。ビューは画面上の長方形を占め、イベントの描画と処理を担当します。-例としては、EditText、Button、TextViewなどがあります。

情報についてはリンクを参照してください: https ://developer.android.com/reference/android/view/View.html

于 2018-03-05T10:27:14.713 に答える
0

AndroidアプリのすべてのUI要素は、Viewオブジェクト とViewGroupオブジェクトを使用して構築されています。

  1. ビュー:-ビューは、ユーザーが操作できる画面上に何かを描画するオブジェクトです。
  2. ViewGroup:-ViewGroupは、ビューとビューグループを保持するために使用されます。
于 2021-01-05T04:20:16.110 に答える