多くの検索を行いましたが、tools:visibility = "visible"
とAndroid:visibility = "visible"
の違いが見つかりませんか?ツールまたはAndroidを使用する必要がある状況はどれですか?
ここに簡単な説明があります:
tools:visibility = "visible"
は、IDEでビューの可視性を操作するために使用されます。リアルタイムでビューに影響を与えることはありません。Android Studio
while
Android:visibility = "visible"
は、実行時に実行され、ビューに変更を加える実際のコードです。
参照: http://tools.Android.com/tips/layout-designtime-attributes
正確な質問は
「レイアウトXMLファイルの
Android:...
とtools:...
の違いは何ですか」
toolsは、開発フレームワークでXMLでのレイアウト作成を容易にする設計属性の1つです。この属性は、開発フレームワークにアクティビティクラスを示すために使用されます。レイアウトを実装するために選ばれました。 「tools:context」を使用して、Android Studioはプレビューに必要なテーマを自動的に選択します
Androidは、デバイスでapkを起動すると、ランタイムアプリで使用されます
によると ここ
設計時のレイアウト属性 が表示された場合
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デザイナービューでレンダリングされた場合、最初のボタンは非表示になります。ただし、実行時には表示されます。
TOOLS値は、Android Studio.tのレイアウトプレビューでのみ使用されます
Androidの値は、通常どおりアプリで使用されます。
したがって、メインコンテナの値を設定すると、tools:visibility: "gone" Android:visibility: "visible"
ASのレイアウトプレビューのメインコンテナはなくなりますが、エミュレータ/デバイスでアプリを起動すると表示されます。