[解決済み】Android - チェックボックスとテキストの間に間隔を空ける
質問
チェックボックス コントロールのチェックボックスと関連するテキストの間にパディングを追加する簡単な方法はありますか?
ラベルが複数行になるため、先頭にスペースを入れるだけではダメなのですが。
このままでは、テキストがチェックボックスに寄りすぎています。
解決方法は?
自分の質問に答えるのは嫌ですが、この場合は必要だと思います。 調べてみると、@Falmarriさんの回答は正しい方向に進んでいました。 問題は、AndroidのCheckBoxコントロールがすでにandroid:paddingLeftプロパティを使用してテキストの位置を取得していることです。
赤い線は、CheckBox全体のpaddingLeftオフセット値を示している
そのパディングをXMLレイアウトで上書きしただけでは、レイアウトがめちゃくちゃになります。 paddingLeft="0"を設定すると、以下のようになります。
この問題は、XMLでは解決できないことがわかりました。 コードで修正する必要があります。 以下は、ハードコードでパディングを10dp増加させたスニペットです。
final float scale = this.getResources().getDisplayMetrics().density;
checkBox.setPadding(checkBox.getPaddingLeft() + (int)(10.0f * scale + 0.5f),
checkBox.getPaddingTop(),
checkBox.getPaddingRight(),
checkBox.getPaddingBottom());
この結果、以下のようになります。緑色の線はパディングの増加分です。 デバイスによってチェックボックスの描画が異なる可能性があるため、値をハードコードするよりもこの方法が安全です。
UPDATE - 最近、以下の回答で言及されているように、この動作は明らかにJelly Bean (4.2) で変更されています。 あなたのアプリは、どのバージョンで動作しているかを確認し、適切な方法を使用する必要があります。
4.3以上では、単にpadding_leftを設定するだけです。詳しくはhtafoyaさんの回答をご覧ください。
関連
-
[解決済み】googleコンソールエラー`OR-IEH-01`について
-
[解決済み] BIOSのセキュリティ設定でVT-xを有効にする(お使いのコンピュータのドキュメントを参照)。
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
[解決済み] TextViewでテキストを水平・垂直方向にセンタリングするには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] AndroidのListViewで画像を遅延ロードする方法
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み】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: Intent エラーを処理するアクティビティは見つかりませんでしたか?どのように解決するのか
-
[解決済み】Android Studio AVD - Emulator: 終了コード 1 でプロセスが終了
-
[解決済み】Android Studioでマニフェストのマージに失敗し、複数のエラーが発生した。
-
[解決済み】ビットマップを保存する場所について
-
[解決済み】SDKの場所がandroid studioで見つからない。
-
[解決済み] TypeError: cb.apply は関数ではありません。
-
[解決済み] com.android.supportのライブラリは全て全く同じバージョン表記である必要があります。
-
[解決済み] Android Fragment onAttach() 非推奨
-
[解決済み】チェックボックスの色を変更するには?
-
[解決済み] カスタムチェックボックス画像アンドロイド