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

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

新規登録して質問してみよう
ただいま回答率
85.48%
XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

2404閲覧

Andoridアプリにてレイアウトを動的に変更するメソッドについて

koala2

総合スコア24

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2020/05/27 09:19

現在Androidアプリの開発をしております。
通常レイアウトはxmlにて作成してそれをプログラムコードで呼び出す流れになりますが、
レイアウトを動的に変更したくプログラムコードにてレイアウトを作成しております。
プログラムコードによるレイアウト作成は様々なサイトにて解説されており以下のような形で作成してみました。

kotlin

1val linearLayout = findViewById<LinearLayout>(R.id.xxx) 2val text = TextView(ContextThemeWrapper(this, R.style.yyy)) 3text.text = "hogehogehogehoge" 4text.gravity = Gravity.CENTER 5linearLayout.addView(text)

上記の通りにすることで動的にレイアウトを追加することができるようになりました。
ですが、テキストカラーや文字サイズのような単純な変更はすぐにできたのですが、
中央寄せ、オブジェクトのサイズ変更などのメソッド直感的にわからなく、苦戦しています。
今回の場合はLinearLayoutのメソッドになりますが、レイアウト変更する上でのメソッド一覧など
はどこかに掲載されていたりするのでしょうか、またどのようにして調べているのでしょうか?

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

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

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

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

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

hoshi-takanori

2020/05/27 09:23

レイアウト指定や変更の方法は各 Layout クラスごとに異なるので、それぞれのリファレンスを参照することになると思います。(ブラウザでリファレンスを読むのはかったるいので、自分はソースを参照してますが。)
guest

回答1

0

ベストアンサー

XMLで頭に「layout_」と付く属性は、親レイアウトのLayoutParamsクラスの属性です。
例えば、LinearLayoutの子ビューであれば、LinearLayout.LayoutParamsになります。

LayoutParamsを指定する方法はいくつかありますが、とりあえずView#addViewの引数に指定する事ができます。

以下も参考になるんじゃないですか。(サイトの趣旨は違いますが)

投稿2020/05/27 12:15

katsuko

総合スコア3469

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

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

koala2

2020/05/28 08:55

「layout_」属性をプログラムコードで書くことに苦戦していたので非常に助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問