[解決済み】背景色のあるボタンにマテリアル効果を適用する。
質問
Android v21対応ライブラリを使用しています。
背景色をカスタマイズしてボタンを作成しました。背景色を使用すると、波紋や表示などのマテリアルデザインの効果がなくなります(クリック時の昇降を除く)。
<Button
style="?android:attr/buttonStyleSmall"
android:background="?attr/colorPrimary"
android:textColor="@color/white"
android:textAllCaps="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Button1"
/>
<イグ 以下は通常のボタンで、エフェクトは問題なく動作しています。
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAllCaps="true"
android:text="Button1"
/>
<イグ
解決方法は?
を使用する場合
android:background
の場合、ボタンのスタイルとルック&フィールの多くを空白の色に置き換えていることになります。
更新してください。
の時点では
バージョン23.0.0リリース
の
AppCompat
があり、新たに
Widget.AppCompat.Button.Colored
のスタイルで、テーマの
colorButtonNormal
を無効化する色として使用し
colorAccent
は有効な色です。
を経由して直接ボタンに適用することができます。
<Button
...
style="@style/Widget.AppCompat.Button.Colored" />
もし、カスタム
colorButtonNormal
または
colorAccent
を使用することができます。
ThemeOverlay
で説明したように
このプロヒント
と
android:theme
をボタン上に配置します。
前回の回答
v21のディレクトリにあるdrawableを背景として使用することができます。
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?attr/colorControlHighlight">
<item android:drawable="?attr/colorPrimary"/>
</ripple>
これにより、背景色が
?attr/colorPrimary
で、デフォルトのリップルアニメーションは、デフォルトの
?attr/colorControlHighlight
(必要であれば、テーマで設定することもできます)。
注:v21未満の場合はカスタムセレクタを作成する必要があります。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/primaryPressed" android:state_pressed="true"/>
<item android:drawable="@color/primaryFocused" android:state_focused="true"/>
<item android:drawable="@color/primary"/>
</selector>
デフォルト、プレス済み、フォーカスの各状態に必要な色があると仮定します。個人的には、選択中の波紋のスクリーンショットを撮って、そこからプライマリ/フォーカスの状態を取り出しました。
関連
-
[解決済み】android.content.ActivityNotFoundException: 明示的なアクティビティクラスを見つけることができません。
-
[解決済み】SDKの場所がandroid studioで見つからない。
-
[解決済み] Xlint:deprecationを使用して再コンパイルする方法
-
[解決済み] ADBエラー:デーモンに接続できない
-
[解決済み] Android M パーミッション : shouldShowRequestPermissionRationale()関数の使用方法について混乱しています。
-
[解決済み] Android標準のボタンを色違いに
-
[解決済み] Androidでフローティングアクションボタンの色を変更する
-
[解決済み] Lollipopでボタンの文字が強制的に全角になるのはなぜですか?
-
[解決済み] Android マテリアルデザインボタンスタイル
-
[解決済み] ボタンの背景色で波紋効果を追加する?
最新
-
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 ADB デバイスがオフラインで、コマンドを発行できない。
-
[解決済み] シンボル 'context' を解決できない
-
[解決済み】Android Studio。adbバージョン」の結果を取得できない
-
[解決済み】SDKの場所がandroid studioで見つからない。
-
[解決済み] サポートされていないメソッドです。BaseConfig.getApplicationIdSuffix()がサポートされていません。
-
[解決済み] Android Studioで「URIが登録されていません」と報告されるのはなぜですか?[クローズド]
-
[解決済み] エラー - Android リソースのリンクに失敗しました (AAPT2 27.0.3 Daemon #0)
-
[解決済み] Android SDK の場所には空白を含めないでください。NDK ツールで問題が発生するためです。
-
[解決済み] Android Fragment no view found for ID?
-
[解決済み】AndroidのMaterial DesignとAppCompatでボタンを彩る