私はプログラミングに不慣れです。グラフィックレイアウトを使用していたとき、xmlファイルを読んでいたときにFrameLayoutを見ました。それから検索しましたが、役に立つものが見つかりませんでした。FrameLayoutとは何ですか?それは何をしますか?
私はプログラミングに不慣れです。グラフィックレイアウトを使用していたとき、xmlファイルを読んでいたときにFrameLayoutを見ました。それから検索しましたが、役に立つものが見つかりませんでした。FrameLayoutとは何ですか?それは何をしますか?
回答:
FrameLayoutを使用して、子ビューを互いに積み重ね、最新の子を積み重ねます。以下の例では、TextViewが最新であるため、ImageViewの上に自動的に配置されます。
例えば:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/backgroundImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/bitmapie" />
<TextView
android:id="@+id/descTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="70dp"
android:background="@android:color/holo_blue_light"
android:padding="10dp"
android:text="TextView placed at the top of the Imageview"
android:textColor="@android:color/white"
android:textSize="22sp" />
</FrameLayout>
出力:
あなたはその言葉frame
を通常のフォトフレームと見なすことができます。そのフレームで何をしますか?そのフレームに写真を上から上に配置できます。同じのようにFrameLayout
、私たちのように他のビュー(任意のレイアウト、またはウィジェットボタン、テキストのように、画像など)のトップを配置することができ@ojonugwaショーあなたのイメージのTextViewのトップ。
iframe
Web開発から来ているのと同じように考えていました。最も簡単な説明をありがとう。
あなたはそれをググったと確信していますか?
フレームレイアウトは、画面上の領域をブロックして単一のアイテムを表示するように設計されています。通常、FrameLayoutは、単一の子ビューを保持するために使用する必要があります。これは、子が互いにオーバーラップしない限り、さまざまな画面サイズにスケーラブルな方法で子ビューを整理することが難しい場合があるためです。
ただし、android:layout_gravity属性を使用して各子に重力を割り当てることにより、FrameLayoutに複数の子を追加し、FrameLayout内のそれらの位置を制御することができます。
FrameLayoutの秘密は、子をどのようにレイアウトするかです。通常は1つのアイテムを含むように設計されていますが、他の要素を積み重ねることができます。したがって、FrameLayoutは基本的に、画面上のビューのZオーダーを操作する方法です。
これは、HUDのような要素から、スライドパネル、より複雑なアニメーショントランジションまで、いくつかのUIトリックに非常に役立ちます。この投稿では、それぞれの例を示します。
FrameLayoutは、一度に1つのアイテムを表示するように設計されています。FrameLayout内に複数の要素を含めることができますが、各要素は画面の左上に基づいて配置されます。重なっている要素は重なって表示されます。これがどのように機能するかを示すFrameLayoutを使用して単純なXMLレイアウトを作成しました。