最近、Google は「FlexboxLayout」と呼ばれるプロジェクトをオープンソース化しました。
1. Flexbox とは
簡単に言うと、Flexbox は Web フロントエンド分野における CSS のレイアウト スキームで、2009 年に W3C によって提案された、さまざまなページを簡単、完全、レスポンシブに実装できる新しいレイアウト スキームです。レイアウト、React Native も Flex レイアウトを使用します。
Flexbox は CSS 分野の Linearlayout に似たレイアウトですが、Linearlayout よりもはるかに強力であることを簡単に理解できます。
2.FlexboxLayoutとは何ですか?
先ほど、Flexbox は CSS 分野で比較的強力なレイアウトであると述べましたが、Android 開発では基本的に Linearlayout + RelativeLayout を使用してほとんどの複雑なレイアウトを実装できますが、Google は Flexbox に似たレイアウトはあるのかと疑問に思っていました。これを利用すると、1 つのレイアウトでさまざまな複雑な状況に対応できるということで、FlexboxLayout が登場しました。
FlexboxLayout は、Flexbox に似たレイアウト スキームを実装する Android プラットフォーム用のオープンソース プロジェクトです。 オープンソース アドレス: https://github.com/google/flexbox-layout
3. 使用方法
方法使用方法は非常に簡単です。次の依存関係を追加する必要があります:
compile 'com.google.android:flexbox:0.1.2'XML で次のように使用します:
<com.google.android.flexbox.FlexboxLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" app:flexWrap="wrap" app:alignItems="stretch" app:alignContent="stretch" > <TextView android:id="@+id/textview1" android:layout_width="120dp" android:layout_height="80dp" app:layout_flexBasisPercent="50%" /> <TextView android:id="@+id/textview2" android:layout_width="80dp" android:layout_height="80dp" app:layout_alignSelf="center" /> <TextView android:id="@+id/textview3" android:layout_width="160dp" android:layout_height="80dp" app:layout_alignSelf="flex_end" /></com.google.android.flexbox.FlexboxLayout>またはコードで次のように使用します:
FlexboxLayout flexboxLayout = (FlexboxLayout) findViewById(R.id.flexbox_layout);flexboxLayout.setFlexDirection(FlexboxLayout.FLEX_DIRECTION_COLUMN);View view = flexboxLayout.getChildAt(0);FlexboxLayout.LayoutParams lp = (FlexboxLayout.LayoutParams) view.getLayoutParams();lp.order = -1;lp.flexGrow = 2;view.setLayoutParams(lp);Linearlayout の使用法と非常に似ていますが、馴染みのない属性がたくさんありますが、これらの属性はすべて Flexbox レイアウトです。すでに持っている場合は、心配する必要はありません。FlexboxLayout のいくつかの特定のプロパティの使用法と意味を説明しましょう。
4. サポートされているプロパティ
flexDirection
flexDirection プロパティは、主軸の方向 (つまり、項目の配置方向) を決定します。 LinearLayout の垂直方向と水平方向に似ています。
4 つの値から選択できます:
- row (デフォルト値): 主軸は水平で、開始点は左端にあります。
- row-reverse: 主軸は水平であり、開始点は右端にあります。
- 列: 主軸は垂直であり、始点は上端にあります。
- column-reverse: 主軸は垂直であり、開始点は下端にあります。
デフォルトでは、Flex には LinearLayout と同様に行の折り返しがありませんが、flexWrap 属性は行の折り返しをサポートできます。 3 つの値があります:
- nowrap: 行の折り返しなし
- wrap: 行を通常方向に折り返し
- wrap-reverse: 行を逆方向に折り返し
justifyContent属性は主軸上の項目を定義します。
- flex-start (デフォルト): 左揃え
-
-
-
-
-
flex-start: 交差軸の開始点を揃えます。
alignContent プロパティは、複数の軸の配置を定義します。プロジェクトに軸が 1 つしかない場合、このプロパティは効果がありません。
flex-start: 交差軸の開始点に位置合わせします。
layout_order
デフォルトでは、サブ要素はドキュメントフローの順序で配置され、order 属性は負の値が最初に来て、正の値が後に来るように配置することができます。小さいものから大きいものまで注文してください。 FlexboxLayout が LinearLayout よりも強力である理由は、いくつかのプロパティがより強力であるためであり、順序もその 1 つであるためです。
layout_flexGrow
layout_flexGrow 属性は項目の拡大率を定義します。デフォルトは 0、つまり、残りのスペースがある場合は拡大されません。理解できる絵。 LinearLayout の Weight 属性と同じです。
すべての項目のlayout_flexGrowプロパティが1の場合、残りのスペース(ある場合)を均等に分割します。 1 つの項目のlayout_flexGrow 属性が 2 で、他の項目がすべて 1 の場合、前者は他の項目の 2 倍の残りスペースを占有します。
layout_flexShrink
layout_flexShrink この属性は項目の縮小率を定義します。デフォルトは 1 です。つまり、スペースが不十分な場合、項目は縮小します。
すべての項目のlayout_flexShrink属性が1の場合、スペースが足りない場合、すべての項目が比例して縮小されます。 1 つの項目の flex-shrink プロパティが 0 で、他の項目が 1 の場合、スペースが不十分な場合、前者は縮小されません。
この属性には負の値は無効です。
layout_alignSelf
layout_alignSelf 属性を使用すると、単一の子要素を他の子要素とは異なる方法で配置でき、alignItems 属性をオーバーライドできます。デフォルト値は auto で、親要素がない場合は、親要素の alignItems 属性を継承します。
-
auto (デフォルト)
-
flex_start
-
flex_end
-
center
-
ベースライン
-
stretch
この属性は、auto を除く 6 つの値を取ることができ、その他はすべてそのとおりですalign-items 属性と同じ。
layout_flexBasisPercent
layout_flexBasisPercent 属性は、追加スペースを割り当てる前に、子要素が占める主軸スペースのメイン サイズを定義します。ブラウザは、この属性に基づいて主軸に追加スペースがあるかどうかを計算します。デフォルト値は auto で、これは子要素の元のサイズです。
6. 相違点
CSS の従来の Flexbox レイアウトとの相違点は次のとおりです:
1. flex-flow 属性がありません
3.layout_flexBasisPercent 属性は CSS の flexbox です。 flexBasis 属性
4. min-width と min-height の 2 つの属性はサポートされていません
上記は、FlexboxLayout の基本的な紹介と基本的な使用法です。このプロジェクト自体も優れたカスタム ビューであることを皆さんに思い出していただく価値があります。学習教材は学ぶ価値があります。
参考:
この記事の Flexbox に関する知識の多くは、当社の同僚によるこの記事を参照しています。Flexbox 関連の知識について詳しく知りたい場合は、こちらをお読みください:
http://w4lle.github.io/ 2016 /05/08/Flexbox/
出典: WeChat パブリック プラットフォーム AndroidDeveloper

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

メニューで点線のラインセグメンテーション効果を設計する方法は?メニューを設計するときは、通常、皿の名前と価格の間に左右に合わせることは難しくありませんが、真ん中の点線またはポイントはどうですか...


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
