Androidです。画像付き、テキスト無しのトグルボタンを作成する
2023-09-07 15:51:39
質問
Androidで、画像はあるがテキストがないトグルボタンを作成することは可能でしょうか? 理想はこのような感じです。
同じような投稿で、背景を変えるという答えがありましたが、私はHolo Lightのレイアウトを維持し、テキストを画像と入れ替えたいのです。
私は、プログラム的に画像ソースを変更できるようにする必要があります。
どのようにこれを作るか、何かアイデアはありますか?
これができない場合、通常のボタンをトグル式にする方法はありますか?
どのように解決するのですか?
-
トグルのテキストを画像に置き換えることはできますか?
いいえ、できません。トグルボタンのデフォルトスタイルを上書きすることによってテキストを隠すことはできますが、それでもテキストを画像に置き換えることはできないので、あなたが望むトグルボタンを得ることはできません。
-
通常のトグルボタンを作るには
ファイルを作成する ic_toggle を作成します。
res/drawable
フォルダー<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="false" android:drawable="@drawable/ic_slide_switch_off" /> <item android:state_checked="true" android:drawable="@drawable/ic_slide_switch_on" /> </selector>
ここで
@drawable/ic_slide_switch_on
&です。@drawable/ic_slide_switch_off
は作成した画像です。次に、同じフォルダに別のファイルを作成し、その名前を ic_toggle_bg
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+android:id/background" android:drawable="@android:color/transparent" /> <item android:id="@+android:id/toggle" android:drawable="@drawable/ic_toggle" /> </layer-list>
次に、カスタムテーマに追加します (カスタムテーマがない場合は
res/values/
フォルダに作成します)。<style name="Widget.Button.Toggle" parent="android:Widget"> <item name="android:background">@drawable/ic_toggle_bg</item> <item name="android:disabledAlpha">?android:attr/disabledAlpha</item> </style> <style name="toggleButton" parent="@android:Theme.Black"> <item name="android:buttonStyleToggle">@style/Widget.Button.Toggle</item> <item name="android:textOn"></item> <item name="android:textOff"></item> </style>
これはカスタムトグルボタンを作成します。
-
使用方法
カスタムスタイルと背景をビューで使用します。
<ToggleButton android:id="@+id/toggleButton" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="right" style="@style/toggleButton" android:background="@drawable/ic_toggle_bg"/>
関連
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
[解決済み] TextViewでテキストを水平・垂直方向にセンタリングするには?
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み] Androidで現在の時刻と日付を取得する方法
-
[解決済み] Androidでファイルをダウンロードし、ProgressDialogで進捗を表示する。
-
[解決済み] Android標準のボタンを色違いに
-
[解決済み] Android: ボタンや画像ボタンにテキストと画像を組み合わせて表示する
-
[解決済み】Androidのカスタマイズボタン、文字色の変更について
-
[解決済み] FragmentPagerAdapterのgetItemが呼び出されない
-
[解決済み] 異なる状態の2つの画像を使ったトグルボタン
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ImageViewとTextViewを含むLinearLayoutの代わりに複合drawableを使用するには?
-
[解決済み] Android - タイトルバーに戻るボタンが表示される
-
[解決済み] Android ConstraintLayout - あるビューを別のビューの上に配置する
-
[解決済み] データベースでリサイクルビューを使用する
-
[解決済み] AndroidでTextViewの下にアンダーラインを引くには
-
[解決済み] ProjectScopeServices に Factory タイプのサービスはありません。
-
[解決済み] Google Play ストア内部テストのロールアウトが開始できない
-
[解決済み] Recyclerviewと異なるタイプの行のインフレーションの処理
-
[解決済み] HttpURLConnectionを使ったPOSTによるファイル送信
-
[解決済み] 異なる状態の2つの画像を使ったトグルボタン