質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

1665閲覧

Unity)複数のテキストを囲む枠のサイズをテキスト幅に合わせたい

navesanta

総合スコア198

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2019/05/24 07:51

複数のテキストを囲む枠のサイズをテキスト幅に合わせたい。

Textを囲むImage画像をTextのサイズに合わせて自動で変更(伸縮)するように見せたい。
ネットで調べたところ1つのTextに対してImageを伸縮する方法はContentSizeFitterを
使って下記の手順でできます。(試してみたこと)
(イメージ例1)
1、中が透明な枠画像を作成する
2、Canvas-Text-Imageという親子関係でUIをセットする。
3、ImageにCanvasコンポーネントを追加し、SortOrderを-1にする。
4、アンカープリセットを表示して一番右下を選ぶ。
5、RectTransformコンポーネント内のLeft・Top・Right・Bottomの値に各-5と入れる。
6、TextにContentSizeFitterコンポーネントを追加し、Horizontal/Vertical Fitの
値をPreferred Sizeに変更。
これで1つのテキストの場合は伸縮します。

質問は2つ以上のTextを囲む画像の伸縮をコントロールしたいのです。
(イメージ例2)
Textが複数あると子要素としてImageを設定できません。
この場合どうやればできるでしょうか?
尚、2つのTextは文字数が異なる場合が多く多い方の文字数に合わせた幅に合わせたい。

環境)
PC: mac
Unity2018.2
言語:C#

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Canvas - Image : VerticalLayoutGroup付与(Control Child Sizeオン) - Text - Text

こんな感じにすればいいかなと思います。
(もしかしたらTextにContent Size Fitterが必要かもしれません)
【Unity】uGUIの自動レイアウトが分かりにくいと評判なので解説してみる - テラシュールブログ

ちなみに枠線との余白はVerticalLayoutGroupのPaddingで調整可能です。

別解としては以下のようにすると、Imageを好きなようにレイアウト出来るので、複雑な配置をしたいならこちらがいいかもしれません。

Canvas - 空オブジェクト : VerticalLayoutGroup付与(Control Child Sizeオン) - Image : LayoutElement付与(Ignore Layoutオン) - Text - Text

投稿2019/05/24 10:26

sakura_hana

総合スコア11425

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

navesanta

2019/05/25 09:05 編集

Canvas - Image : VerticalLayoutGroup付与(Child Control Size widthチェック heightチェック)    - Text   - Text 上記をテストでやりましたがImageのインスペクタで設定したサイズにしかなりません。 (子の要素が親にいかない) 試された環境ではうまく伸縮したのですよね? 他に何か追加事項があるのでしょうか?
navesanta

2019/05/26 05:36

うまくいきました。Canvasのサイズを大き目にとっておくことがミソでした。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問