[解決済み] ビューにプログラム的にstyle属性を設定する方法
2022-10-11 23:43:35
質問
以下のコードでXMLからビューを取得しています。
Button view = (Button) LayoutInflater.from(this).inflate(R.layout.section_button, null);
私はボタンのために"style"を設定したいと思いますどのように私はJavaでそれを行うことができますので、私は使用する各ボタンのためにいくつかのスタイルを使用したい。
どのように解決するには?
一般に、プログラムでスタイルを変更することはできません。XMLレイアウトの画面、レイアウトの一部、または個々のボタンの外観を設定するには、次のようにします。 テーマやスタイル . しかし、テーマは可能です。 をプログラム的に適用することができます。 .
のようなものもあります。
StateListDrawable
の各状態で異なる drawable を定義することができます。
Button
がフォーカスされているかどうか、選択されているかどうか、押されているかどうか、無効になっているかどうか、などです。
例えば、ボタンが押されたときに色を変えるようにするには、次のような XML ファイルを定義します。
res/drawable/my_button.xml
ディレクトリをこのように定義します。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@drawable/btn_pressed" />
<item
android:state_pressed="false"
android:drawable="@drawable/btn_normal" />
</selector>
このセレクタを
Button
に適用することができます。
android:background="@drawable/my_button"
.
関連
-
[解決済み】Android "ビュー階層を作成した元のスレッドだけが、そのビューに触れることができる"
-
[解決済み] DrawableをBitmapに変換する方法は?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] グリッドレイアウトにおけるフリングジェスチャーの検出
-
[解決済み] 既存のカスタムテーマでXMLのアクティビティのタイトルバーを非表示にする方法
-
[解決済み] ViewPager PagerAdapter がビューを更新しない
-
[解決済み] Androidで、dpの余白をプログラムで設定する方法を教えてください。
-
[解決済み】プログラムによってビューにパディングを追加する
-
[解決済み] Nexus 4でUSBデバッグモードを見つける方法とオンにする方法
最新
-
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のMaterial DesignとAppCompatでボタンを彩る
-
[解決済み] 設定ページに移動せずに位置情報サービスをオンにする
-
[解決済み] RecyclerView.Stateを使って、RecyclerViewのスクロール位置を保存するには?
-
[解決済み] CardView layout_width="match_parent "が親のRecyclerViewの幅と一致しない。
-
[解決済み] Androidでマイナスマージンを使用するのは悪いことですか?
-
[解決済み] Android: ランドスケープモード用の代替レイアウト xml
-
[解決済み] Android端末がHDPI画面かMDPI画面かを確認する方法は?
-
[解決済み] ViewPager2でスワイプを無効にするには?
-
[解決済み] WhatsAppでメッセージを送信する
-
[解決済み] <string> XMLで改行やタブを作るには(eclipse/android)?