[解決済み] アンドロイドでカスタムラジオボタンを追加する
2022-04-29 02:39:32
質問
アンドロイドの通常のボタンにラジオボタンの効果を得ようとしています。
私は以下のようなシンプルなアンドロイドのラジオボタンを持っています。
このためのコードは ::
アクティビティ_メイン.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="RadioButton1" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RadioButton2" />
<RadioButton
android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RadioButton3" />
</RadioGroup>
</RelativeLayout>
カスタマイズの方法は以下の通りです。
ありがとうございます。 !
[EDIT] 回答にあるコードを使用した場合
しかし、ボタン名が選択オプションの影に隠れてしまうのですが、どうすれば削除できますか?
{EDIT}さらなる変更点
最終的な変更は、少なくとも私は3つのラジオボタンのうち、選択したボタンを知っている必要があります...それは次のように取得することは可能ですか?
解決方法は?
画像やセレクタを参照する背景のdrawableを追加し、ボタンを透明にする(以下同様)。
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:button="@drawable/yourbuttonbackground"
android:checked="true"
android:text="RadioButton1" />
ラジオボタンがチェックされたときに異なるリソースを持つようにしたい場合は、セレクタの背景を描画可能なものを作成します。
res/drawable/yourbuttonbackground.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@drawable/b"
android:state_checked="true"
android:state_pressed="true" />
<item
android:drawable="@drawable/a"
android:state_pressed="true" />
<item
android:drawable="@drawable/a"
android:state_checked="true" />
<item
android:drawable="@drawable/b" />
</selector>
上のセレクタでは、2つのdrawableを参照しています。
a
と
b
を作成する方法を説明します。
res/drawable/a.xml -。 選択された状態
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:radius="5dp" />
<solid
android:color="#fff" />
<stroke
android:width="2dp"
android:color="#53aade" />
</shape>
res/drawable/b.xml - 通常の状態
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:radius="5dp" />
<solid
android:color="#fff" />
<stroke
android:width="2dp"
android:color="#555555" />
</shape>
drawableの詳細はこちら。 http://developer.android.com/guide/topics/resources/drawable-resource.html
関連
-
Androidのadbデバイスがオフラインであることが判明
-
例外「指定された子にはすでに親がいます」の解決方法。removeViewを呼び出す必要があります" の解決方法(ソースコード付き例)
-
アンドロイドにおけるトークンの利用
-
Android studio 制約レイアウト ConstraintLayout
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
android.os の NetworkOnMainThreadException。
-
Androidで発生した問題、解決策とヒント
-
アンドロイドプロジェクトのパッケージングにgradleを使用する際の問題点
-
IllegalStateException。ArrayAdapter は、リソース ID が TextView である必要があります。
-
例外「指定された子にはすでに親がいます」の解決方法。removeViewを呼び出す必要があります" の解決方法(ソースコード付き例)
-
Androidプロセス生存のためのソリューション
-
Android Get set image.setImageResource(R.drawable.xxx) リソース
-
AndroidStudioのショートカット 検索/置換
-
アプリの実行エラー。ターゲットデバイスが見つからない問題
-
[解決済み] 透明なImageButtonを持つ方法。アンドロイド