web-dev-qa-db-ja.com

オブジェクトの可視性

多くの検索を行いましたが、tools:visibility = "visible"Android:visibility = "visible"の違いが見つかりませんか?ツールまたはAndroidを使用する必要がある状況はどれですか?

22

ここに簡単な説明があります:

tools:visibility = "visible"は、IDEでビューの可視性を操作するために使用されます。リアルタイムでビューに影響を与えることはありません。Android Studio

while

Android:visibility = "visible"は、実行時に実行され、ビューに変更を加える実際のコードです。

参照: http://tools.Android.com/tips/layout-designtime-attributes

47

tools:属性は、レイアウトの編集中のデザイン時のプレビューにのみ貢献します

Android:は、実際のデバイスでの表示方法に実際に影響します。

詳細については、 ここ および ここ を参照してください。

8
Arnav M.

正確な質問は

「レイアウトXMLファイルのAndroid:...tools:...の違いは何ですか」

toolsは、開発フレームワークでXMLでのレイアウト作成を容易にする設計属性の1つです。この属性は、開発フレームワークにアクティビティクラスを示すために使用されます。レイアウトを実装するために選ばれました。 「tools:context」を使用して、Android Studioはプレビューに必要なテーマを自動的に選択します

Androidは、デバイスでapkを起動すると、ランタイムアプリで使用されます

によると ここ

5
Aspicas

設計時のレイアウト属性 が表示された場合

tools名前空間は、Androidツールによって特別に認識される名前空間であるため、ビュー要素で定義するすべての属性はツールの名前空間は、アプリケーションがパッケージ化され、実行時のオーバーヘッドがないときに自動的に削除されます。

したがって、実行時に影響を与えない開発時にのみレイアウトエディターで何かをテストする必要がある場合は、tools名前空間を使用できます。

例:

<Button
    Android:id="@+id/button"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="First"
    tools:visibility="invisible" />

<Button
    Android:id="@+id/button2"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="Second"
    tools:visibility="visible" />

上記のレイアウトがAndroid Studioデザイナービューでレンダリングされた場合、最初のボタンは非表示になります。ただし、実行時には表示されます。

3
sJy

TOOLS値は、Android Studio.tのレイアウトプレビューでのみ使用されます

Androidの値は、通常どおりアプリで使用されます。

したがって、メインコンテナの値を設定すると、tools:visibility: "gone" Android:visibility: "visible"

ASのレイアウトプレビューのメインコンテナはなくなりますが、エミュレータ/デバイスでアプリを起動すると表示されます。

2
Klawikowski