search
LoginSignup
23
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

Organization

TextViewの文字列が中央揃えになってくれなくて悲しい

いざ中央揃え…あれ?

TextViewに入れた文字列を中央揃えで表示したい!

TextViewにはsetTextAlignment()という、すごくそれらしいメソッドがあります。
しかしこいつ、どんな値を設定しても、文字列は中央揃えになってくれませんでした。

解決策

先に結論から。

setGravity()を使いましょう。

Android StudioのGUIエディタでは、gravityと書かれた項目です。
layout:gravityではないので注意しましょう!!!

gravityの方

なぜsetTextAlignment()では中央揃えにならないのか

実はsetTextAlignment()は、TextViewではなく、その基底クラスのViewのメソッド。
どんな処理をしているのか、イマイチよくわかりません。
(SDKのソース読んでも、なにがしかのレイアウトに影響するフラグをゴリゴリいじってることしかわかりませんでした)
詳しい方、このメソッドの存在意義を教えて下さい…

追記
@bilyakudan が以下のリンクを教えてくれました。

Text/Layout Alignment in Android (textAlignment, gravity)

結局、setTextAlignment()が何をしてくれるのかは闇の中のようです…

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
23
Help us understand the problem. What are the problem?