1. ホーム
  2. android

RelativeLayoutのBaselineとは何ですか?

2023-08-18 22:29:11

質問

相対レイアウトのコンテキストで使用される場合、"baseline" は何を指すのでしょうか?単純な質問ですが、おそらく、ドキュメントやグーグルではヒントが得られないのです。

どのように解決するのですか?

この用語は ベースラインはタイポグラフィからきており . これは、テキスト内の文字の上にある見えない線のことです。

例えば、2つの TextView 要素が隣り合っているとします。2つ目の TextView に大きなパディング(例えば20dp)を与える。もし layout_alignBaseline を追加すると、テキストは最初の要素のベースラインと一致するように "scoot up" されます。両方の要素のテキストは、あたかも同じ見えない線上に書かれているように見えるでしょう。

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
  <TextView
      android:id="@+id/text1"
      android:text="aatlg"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      />
  <TextView
      android:text="joof"
      android:background="#00ff00"
      android:padding="20dp"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_toRightOf="@id/text1"
      android:layout_alignBaseline="@id/text1"
      />
</RelativeLayout>