【Android】Buttonに対して標準よりも小さいPadding値をJavaコードから設定する。のらぬこの日常を描くスマートフォン用の表示で見るのらぬこの日常を描くノージャンルのお役立ち情報やアニメとゲームの話、ソフトウェア開発に関する話などを中心としたブログです。【Android】Buttonに対して標準よりも小さいPadding値をJavaコードから設定する。2018-06-03【Android】Buttonに対して標準よりも小さいPadding値をJavaコードから設定する。技術・開発Tweetどうものらぬこです。バージョンアップ開発中の個人アプリで、複数選択可能な「タグ」のような、見た目、操作性のものを作ろうとしています。ベースコンポーネントはToggleButtonを使い、ただ、標準のものだと見た目がとてもダサいので、背景を「タグ」風の見た目にして、もう二回りPaddingを小さくしたものを作ることにしました。resourceを用意してあげれば比較的簡単にできます。ボタンの状態毎にテキスト色をカスタマイズするのはこれに比べると少し面倒くさいですが、layoutでもJavaコードでも素直な実装で実現できます。Paddingの値を小さくする方法がややトリッキーでした。layoutで静的に用意する場合は、ややトリッキーなことをやるだけで実現できるのですが、Javaコードでボタンを動的に生成するようなコードを書く場合、Googleがますます嫌いになるようなコードを書かねばなりません。今回作ったものは下図のようなものです。同等の実装で実現できるかと思います。背景色用のxmlです。ボタンの状態によって見た目を変えたいため、selectorを使って状態ごとのフィルターを作成しています。等の名前で保存してください。背景と同様に、ボタンの状態によって見た目を変えたいため、selectorを使って状態ごとのフィルターを作成しています。等の名前で保存してください。Paddingの指定もここで行います。指定を書いただけでは、小さなボタンは作れません。android:minWidth="0dp"の2つの設定が必要です。コードで動的なボタンとして実装する場合。javaコードで実装する場合も、大抵の場合は、コントロールのオブジェクトをnewした後に、プロパティーを設定する要領で、javaのメソッド呼び出しで設定してあげるだけです。dataBinding.detailContainer.addView(button);paddingに標準より小さい値を設定したボタンをjavaコードで生成する場合も基本的には一緒です。呼び出しだけでは不十分です。button.setMinimumHeight(0);の、2つのメソッドの呼び出しが必要です。あたりを漁ってみたのですが、情報はなく、正直よくわからん。IDEのコード補完機能って便利ですねーというわけで、未解決の伏線を残したまま終了、なかんじではございますが、今回の記事は以上となります。お読みいただいてありがとうございました。17:32【Android】Buttonに対して標準よりも小さいPadding値をJavaコードから設定する。Tweet広告を非表示にする関連記事2018-06-16android:SAF、RuntimePermission等、年毎に複雑化するファイルアクセスAPIどうものらぬこです。今回は、androidアプリから端末内のファ...2017-05-18うわっ...私のmac、重すぎ...?ホイール操作のもたつきを完全に解消する方法とはどうも、のらぬこです。V5今日、レジャーケースを買ってきました。(1)月別アーカイブはてなブログをはじめよう!noranuk0さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。