6つのレイアウトでのFrameLayoutの使用

6つのレイアウトでのFrameLayoutの使用

序文

前回はLinearLayoutについて説明しました。今回はFrameLayoutの使い方を説明します。他のレイアウトと比較すると、FrameLayoutは最もシンプルなレイアウトと言え、使用範囲も比較的狭いですが、Androidの6大レイアウトの1つでもあります。面接でも何度か遭遇するので、さっそく学習してみましょう~

導入

FrameLayout では、このレイアウトは画面上に空白領域を直接開きます。このレイアウトに追加されたすべてのビューは積み重ねられて表示され、デフォルトではこれらのビューがこの領域の左上隅に配置されます。レイアウトに追加された最初のビューは下部に表示され、最後のビューは上部に配置されます。前のレイヤーのビューが次のレイヤーのビューをカバーするため、レイアウトはスタック レイアウトに似たものになり、そのため FrameLayout はあまり使用されません。

1. 共通の属性

FrameLayout には共通する属性が 2 つだけあります。

2 つのプロパティ:

  • android:foreground: フレームレイアウトコンテナの前景画像を設定します
  • android:foregroundGravity: 前景画像の表示位置を設定します

前景画像: 常にフレーム レイアウトの上部にあり、ユーザーに直接面しており、隠れることのない画像です。

この説明だけでは分からない方もいるかと思いますので、実際の操作で直感的に感じて頂けるように説明していきます!

上の写真を見ると、背景はその名の通り、背景を設定するものであることがわかります。では、前景とは何でしょうか? 友人たちはすでにいくつかのアイデアを持っていると思います。引き続き下を見ていきましょう。

上の図を読んだ後、前景画像が何であるかを完全に理解できたと思います。同じコードで、背景を前景に変更するだけです。図 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 つの簡単な方法の詳細な説明

推薦する

UbuntuにMySQLをインストールするときにデフォルトのパスワードを変更する詳細な手順

ステップ1: ディレクトリに入ります: cd /etc/mysql、debian.cnfファイルを表...

Linux で Apache を使用してファイル サーバーを構築する手順

1. ファイルサーバーについてプロジェクトでは、公開ソフトウェアやデータをプロジェクト チーム メン...

素晴らしい CSS ナビゲーション バーの下線効果

中国初のカッター github.com/chokcocoまず、ここに画像があります。純粋な CSS ...

Vue で Axios カプセル化を使用するための完全なチュートリアル

序文現在、プロジェクトでは、Axios ライブラリが HTTP インターフェース リクエストによく使...

2列のデータをSQLの新しい列として操作する

以下のように表示されます。 bb_sbからa1、a2、a1+a2 a、a1*a2 b、a1*1.0/...

HTML ul および li タグを使用して画像を表示するサンプル コード

以下のコードをDreamweaverのコードエリアにコピーすると、プレビュー時に以下の画像が表示され...

Linux で ARM 開発ボード用のファイルシステムを作成する

1. Busyboxのソースコードをオンラインでダウンロードしてください。コンパイル方法については、...

チェックボックスの不確定プロパティの使用の紹介

Windows XP でフォルダーのプロパティ ダイアログ ボックスを使用すると、フォルダーの属性カ...

Linux (CentOS) システムで MySQL データベース ディレクトリの場所を変更する方法

CentOS システムで MySQL データベース ディレクトリの場所を変更する方法1. まず、My...

myisamchk および mysqlcheck ツールを使用して破損した MySQL データベース ファイルを迅速に修復する方法

サーバーのデータベース ハード ディスク領域がいっぱいだったため、大量のデータの書き込みに失敗し、「...

.NETCore Dockerはコンテナ化とプライベートイメージリポジトリ管理を実装します

1. Dockerの紹介Docker は Linux オペレーティングシステムの一部の機能をベースに...

ウェブページ作成時に標準 HTML コードを使用する際のポイント

多くの Web サイト デザイナーが犯す最も一般的な間違いは、Web ページが IE で正常に表示さ...

入力タイプ=ファイルスタイルを定義する方法

ファイルコントロールを美しくする理由は何ですか?他の子供たちはみんなきちんとしたきれいな服を着ている...

IIS 7.5では、HTMLはSHTMLのようなinclude関数(モジュールマッピングの追加)をサポートします。

最初はたくさんのエラーを見つけましたが、実際には非常に簡単です。shtm の元の設定を参照するだけで...

MySQL で結果を選択して更新を実行する例のチュートリアル

1. 単一テーブルクエリ -> 更新 テーブル名の更新 フィールド1=新しい値1、フィールド2...