序文 前回はLinearLayoutについて説明しました。今回はFrameLayoutの使い方を説明します。他のレイアウトと比較すると、FrameLayoutは最もシンプルなレイアウトと言え、使用範囲も比較的狭いですが、Androidの6大レイアウトの1つでもあります。面接でも何度か遭遇するので、さっそく学習してみましょう~ 導入 FrameLayout では、このレイアウトは画面上に空白領域を直接開きます。このレイアウトに追加されたすべてのビューは積み重ねられて表示され、デフォルトではこれらのビューがこの領域の左上隅に配置されます。レイアウトに追加された最初のビューは下部に表示され、最後のビューは上部に配置されます。前のレイヤーのビューが次のレイヤーのビューをカバーするため、レイアウトはスタック レイアウトに似たものになり、そのため FrameLayout はあまり使用されません。 1. 共通の属性 FrameLayout には共通する属性が 2 つだけあります。 2 つのプロパティ:
前景画像: 常にフレーム レイアウトの上部にあり、ユーザーに直接面しており、隠れることのない画像です。 この説明だけでは分からない方もいるかと思いますので、実際の操作で直感的に感じて頂けるように説明していきます! 上の写真を見ると、背景はその名の通り、背景を設定するものであることがわかります。では、前景とは何でしょうか? 友人たちはすでにいくつかのアイデアを持っていると思います。引き続き下を見ていきましょう。 上の図を読んだ後、前景画像が何であるかを完全に理解できたと思います。同じコードで、背景を前景に変更するだけです。図 1 では HelloWord がまだ表示されていますが、図 2 ではブロックされていることがわかります。これを単純に理解すると、前景は実際には本の表紙であり、本の内容すべてをカバーしています。 2. FrameLayout はサブビュー (TextView など) の位置をどのように設定しますか? layout_gravity で値を設定し、layout_marginTop と layout_marginLeft で位置を設定します。 たとえば、4 つの TextView があり、最初のレイヤーは会社、2 番目のレイヤーはオフィス、3 番目のレイヤーはワークステーション、4 番目のレイヤーはプログラマーです。 TextView の位置が設定されていない場合、デフォルトでは 4 つの単語が左上隅に表示され、会社が下部、プログラマが上部に表示されます。図の 4 つの画像の位置効果を実現するための対応する設定は次のとおりです。 (1)第一層 会社:android:layout_gravity="center" (2)2層目のオフィス: android:layout_gravity = "center" android:layout_marginTop="-150dp" (注:android:layout_gravity = "center" は水平方向と垂直方向の中央揃えを意味するため、負の数になります。ベースラインは水平方向と垂直方向のビューの中点です。オフィスはベースラインより上(負の方向)にあるため、負の数になります) (3)第3レベル:android:layout_gravity="top" android:layout_marginTop="40dp" android:layout_marginLeft="40dp'(注:android:layout_gravity="top"は垂直方向の上揃えを意味し、水平方向の配置はデフォルトで左揃えになります) (4)第4レベルのプログラマー:android:layout_gravity="center" android:layout_marginTop="80dp"(第2レベルのオフィスの分析に対応して、プログラマーがベースライン(正方向)より下にあるため、数値が負になっていることは簡単に理解できます。また、注意:ここでのベースラインは画面の上部ではなく、それぞれ水平方向と垂直方向の中心線です) 最終的な効果は次のようになります。 結論 これで、FrameLayout の紹介は終わりです。今日の記事の内容があまり多くないと思われる方もいらっしゃるかもしれませんが、それは主に、FrameLayout が実際のプロジェクトで使用されることはほとんどなく、誰もが簡単に理解できれば十分だからです。しかし! ! !一緒に学び始めてから 1 週間が経ちました。まだ最初のプロジェクトを作成していない生徒も数人いると思いますので、すぐに行動を起こして、今週の素晴らしいコンテンツをすべて最初の個人デモに書き込んでください。実際の実践で私たちをフォローしている友人の皆さんも、以前の記事を見直していただければ幸いです。孔子は言いました。「時々学び、実践することは楽しいことではないでしょうか?」 〜 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 |
<<: docker を使用して Spring Boot をデプロイし、Skywalking に接続する方法
>>: vscode で console.log を書く 2 つの簡単な方法の詳細な説明
1. 背景Docker サービスが開始されると、デフォルトで docker0 ブリッジが作成され (...
まず、href 属性と onclick イベントの実行順序について説明します。マウスが a タグをク...
問題が発生しました。情報の編集をテストする際、編集した内容に一重引用符 (') が含まれてい...
先週末、兄弟プロジェクトはより良いサービスを提供するためにサーバーを拡張する準備をしていました。兄弟...
インストールとアンインストールの表示 # rpm -qa | grep mysql を表示 # アン...
この記事では、テキスト中央の両側に水平線を引く効果を実現する CSS のサンプルコードを紹介し、皆さ...
目次1. はじめに2. 行き詰まった問題の分析3. 解決策(理論) 4. ソリューション(コード) ...
インデックスにクエリする必要があるすべてのフィールドの値が含まれている(またはカバーしている)場合、...
MySQL Workbench - モデリングおよび設計ツール1. モデルは、最も効果的で高性能なデ...
データベーステーブルA: テーブル task_desc_tab を作成します ( id INT(11...
序文Web 上でオンライン コード コンパイルの効果を実現したい場合は、 CodeMirrorを再度...
まずmysqlの圧縮バージョンをダウンロードします。公式ダウンロードアドレスは123WORDPRES...
MySQL のデータ量が多い場合、制限ページングが使用されます。ページ数が増えると、クエリの効率が低...
目次MySQL ログファイルバイナリログBinlogログがオンになっていますログ記録を有効にする方法...
この記事では、jQueryタグセレクターアプリケーションの具体的なコードを例として紹介します。具体的...