Android ConstraintLayout app:layout_constraintHorizontal_bias について解説します。
皆さんは、Googleの新しい追加機能であるConstrainLayoutを使うことを楽しみにしていると思います。今日、app:layout_constraintHorizontal_biasプロパティを使うときに、ちょっと疑問に思ったことがあり、しばらく勉強して、バイアス値の意味がわかりました:つまり、バイアス値=左関連subViewの長さ/(左関連subViewの長さ+右関連subViewの長さ)、デフォルト値は0.5ということでした。ここでは、以下の2つの例を記録し、共有します。
子ビューの幅が親レイアウトの1/2、親レイアウトが1として扱われると仮定すると .
シナリオ1.
次のコード、制約付き 子Viewの左側は、親レイアウトの左側と関連している を制約するものです。 子Viewの右側が親レイアウトの右側と関連していること。 とすると、この時点で左相関の長さは1/4、右相関の長さは1/4となります。
ここで、バイアスを0.5から0.8に変更します。式から、バイアス値は左相関の長さに比例し、バイアス値を大きくすることで、子Viewの左側は親Viewの左側と相関があるため、この時、子View全体が右側に移動することがわかります。簡単に計算できます。
左相関長/右相関長=0.8/0.2=4。
したがって、0.5 - >0.8におけるsubViewの右へのオフセットは : 3/20と簡単に計算できるのです。
左の空白部分が画面の2/5、右の空白部分が画面の1/10になります。
回路図は次のとおりです。
<TextView
android:id="@+id/main_tv_print_get_res"
android:layout_width="0dp"
android:layout_height="0dp"
android:text="Show get response here"
android:background="@color/tv_res"
app:layout_constraintDimensionRatio="h,157:98"
app:layout_constraintWidth_percent="0.5"
app:layout_constraintHorizontal_bias="0.8"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:textSize="20sp"
android:layout_marginTop="10dp"
android:gravity="center"
/>
<イグ
シナリオ2
次のコード、制約付き 子Viewの左側は、親レイアウトの右側と関連している を制約するものです。 子Viewの右側が親レイアウトの左側と関連していること。 とすると、この時点で左相関の長さは3/4、右相関の長さは3/4となります。
ここで、バイアスを0.5から0.8に変更します。式から、バイアス値は左相関の長さに比例することがわかり、バイアス値を大きくすることで、子Viewの左側と親Viewの右側が関係するため、このとき子View全体が左側に移動することがわかると思います。簡単に計算できます。
左相関長/右相関長=0.8/0.2=4.
したがって、0.5 - >0.8 の場合の subView の左へのオフセットは、. と簡単に計算できます。9/20.
この時点で、子Viewの左側はすでに画面からオフセットされています。|1/4 - 9/20| = 1/5
回路図は次のようになります。
<TextView
android:id="@+id/main_tv_print_get_res"
android:layout_width="0dp"
android:layout_height="0dp"
android:text="Show get response here"
android:background="@color/tv_res"
app:layout_constraintDimensionRatio="h,157:98"
app:layout_constraintWidth_percent="0.5"
app:layout_constraintHorizontal_bias="0.8"
app:layout_constraintLeft_toRightOf="parent"
app:layout_constraintRight_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:textSize="20sp"
android:layout_marginTop="10dp"
android:gravity="center"
/>
<イグ
要約すると
1. バイアス値 = 子Viewの左相関の長さ / (子Viewの左相関+右相関の長さ)
2. 式からわかるように、バイアス値は左相関の長さに比例し、バイアス値を増加させると必ず子Viewの左相関が増加します。具体的なコントロールの左から右への動きについては、子ビューが関連するコントロールのどちら側に関連するかによって異なります。
関連
-
不具合ログ】Prologでコンテンツが許可されていないエラー発生
-
CUDAドライバのバージョンがCUDAランタイムのバージョンに対して不足しています。
-
デバッグアサーションに失敗しました
-
Pyproj のインストールに問題があり、コマンド ' cl.exe' が失敗しました。そのようなファイルやディレクトリはありません
-
解決策:gpg: Can't check signature: public key not found エラーが発生しました。
-
2013 - 「初期通信パケットの読み込み」で MySQL サーバーへの接続が失われ、システムエラーが発生しました。0
-
AVD システムパスが見つかりません。Please define ANDROID_SDK_ROOT この問題は、必ずしもパス設定にあるわけではありません。
-
コンパイル時の型エラーでメソッドが未定義になる
-
未定義参照発生時のcmakeの扱いについて
-
Matplotlib のプロットと可視化 いくつかのプロパティとエラー
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
アクセス制限の解決方法 DataSource型はAPIエラーです。
-
cenos upgrade g++ gcc(cc1plus: error: unrecognized command line option "-std=c++11")
-
github共通の操作と共通のエラー! fatal: リモートリポジトリから読み取れませんでした。
-
ModuleNotFoundError を解決する。Pythonに'tensorflow._api'という名前のモジュールはありません。
-
OverflowError: Python 2.7 で C の long に変換するには Python の int が大きすぎる。
-
error: 'struct proc_dir_entry' has no member named 'owner' Solution
-
は属性_TensorLikeを持たない
-
I encountered The markup in the document following the root element must be well-formed.
-
mscorlib.dll で "TargetInvocationException" 型の例外が発生するが、ユーザーコードで処理されない
-
モジュール 'numpy' に 'array' 属性がない問題の解決