質問: title.getCompoundPaddingLeft() + title.getCompoundPaddingRight() + Layout.getDesiredWidth("N!ce・Sl!ngshot",pa); ``` ### 起こっている不具合 上記のコードでTextViewの幅が測れると調べてたどり着いたのですが、どうもその値が実際のものと異なり困っています。 ある文字列を測ったところ、151という値が出たのですが、表示位置のずれから違うことに気づき、定規で測ってみたところ恐らく画面の800の半分の400、文字列は幅があるということでした。 何がいけないのでしょうか??教えてください。
回答: Layout.getDesiredWidthをわざわざ使う場面は限られてくると思いますが、もしこのメソッドで図るなら対象のTextView(今回はtitle変数かな?)から取った値を入れてやりましょう(使ったことないので正確な挙動まではわからないです) ``` float titlewidth = title.getCompoundPaddingLeft() + title.getCompoundPaddingRight() + Layout.getDesiredWidth(title.getText(),title.getPaint()); ``` 特に理由がない場合はgetWidthメソッドを使うという手段も考えれますね ``` float titlewidth = title.getCompoundPaddingLeft() + title.getCompoundPaddingRight() + title.getWidth(); ```