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

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

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

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

Android

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

ラジオボタン

ラジオボタンはフォームに使われる要素のひとつであり、ユーザに限られた選択肢からひとつの答えを選んでもらうというものです。

Kotlin

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

Q&A

解決済

1回答

3829閲覧

androidのラジオボタンを2×2の表のように配置する方法

kirisaki_aoi

総合スコア27

XML

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

Android

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

ラジオボタン

ラジオボタンはフォームに使われる要素のひとつであり、ユーザに限られた選択肢からひとつの答えを選んでもらうというものです。

Kotlin

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

0グッド

0クリップ

投稿2020/02/28 09:16

お世話になっております。
Androidアプリのレイアウトについて質問させて頂きます。

現在Kotlinでアプリを開発しているのですが、ラジオボタンを以下のように配置したく思っています。

①|②||
|:--|:--||
|③|||

通常のボタンであれば以下のようなコードで実装出来たのですが、ラジオボタンは <RadioGroup>で囲う必要が
あったため通常のボタンのようなコードで実現できず困っております。

xml

1<LinearLayout 2 android:layout_width="match_parent" 3 android:layout_height="wrap_content" 4 android:orientation="horizontal"> 5 <Button 6 android:layout_width="match_parent" 7 android:layout_height="70dp" 8 android:layout_weight="1" 9 style="@style/tertiaryButton" 10 android:text="hoge1"/> 11 <Button 12 android:layout_width="match_parent" 13 android:layout_height="70dp" 14 android:layout_weight="1" 15 style="@style/tertiaryButton" 16 android:text="hoge2"/> 17 </LinearLayout> 18 19 <LinearLayout 20 android:layout_width="match_parent" 21 android:layout_height="wrap_content" 22 android:orientation="horizontal"> 23 <Button 24 android:layout_width="match_parent" 25 android:layout_height="70dp" 26 android:layout_weight="1" 27 style="@style/tertiaryButton" 28 android:text="hoge3"/> 29 <Button 30 android:layout_width="match_parent" 31 android:layout_height="70dp" 32 android:layout_weight="1" 33 style="@style/tertiaryButton" 34 android:text="hoge4"/> 35 </LinearLayout>

現在以下のコードで、図のように配置されております。

これを何とか以下のような配置にしたいです。
①|②||
|:--|:--||
|③|||

xml

1<RadioGroup 2 android:layout_height="wrap_content" 3 android:layout_width="wrap_content" 4 android:id="@+id/Group" 5 android:orientation="horizontal"> 6 <LinearLayout 7 android:layout_width="match_parent" 8 android:layout_height="90dp"> 9 <RadioButton 10 android:id="@+id/normal_button" 11 android:layout_width="140dp" 12 android:layout_height="70dp" 13 style="@style/buttonWithCheckBox" 14 android:text="hoge1"> 15 </RadioButton> 16 <RadioButton 17 android:id="@+id/normal_button2" 18 android:layout_width="140dp" 19 android:layout_height="70dp" 20 style="@style/buttonWithCheckBox" 21 android:text="hoge2"> 22 </RadioButton> 23 <RadioButton 24 android:id="@+id/normal_button3" 25 android:layout_width="140dp" 26 android:layout_height="70dp" 27 style="@style/buttonWithCheckBox" 28 android:text="hoge3"> 29 </RadioButton> 30 </LinearLayout> 31 </RadioGroup>

初歩的な質問でしたら申し訳ありません。
ご教示いただけますと幸いです。よろしくお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

RadioGroupってLinearLayoutのサブクラスなので使いづらいですよね。
いくつかのアプローチがあるかと思います。

これは単純にLinearLayoutをSubviewで作って2 x 2にしています。
Layoutは実現できますがRadioButtonがRadioGroupの直接のSubviewではないためにON/OFFが正しく動きません。
自分でボタンのイベントを取得して、ON/OFFの制御をする必要があります。

こちらではTableLayoutやGridLayoutを継承したクラスでRadioGroupを作っています。
ここで実装されている内容を流用すると実装しやすそうです。

こちらは日本語の記事です。
RadioHandlerというクラスを作成して任意のViewGroup内でRadioButtonをGroup化できるようです。

投稿2020/02/29 14:42

nakasho_dev

総合スコア2655

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

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

kirisaki_aoi

2020/03/02 03:03

ご回答ありがとうございます。 完全に行き詰っていたので、複数サイトご紹介して頂けて本当に有難いです。 教えて頂いたサイトを参考に実装してみようと思います。 この度はご回答本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問