[解決済み] Android マテリアルデザインボタンスタイル
質問
マテリアルデザインのボタンスタイルで迷っています。添付のリンクのようにカラフルな盛り上がりのあるボタンにしたいのですが、使い方のところにある"強制停止"や"アンインストール"のようなボタンが欲しいです。利用可能なスタイルがあるのか、それとも私が定義する必要があるのでしょうか?
http://www.google.com/design/spec/components/buttons.html#buttons-usage
デフォルトのボタンスタイルが見つかりませんでした。
例
<Button style="@style/PrimaryButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calculate"
android:id="@+id/button3"
android:layout_below="@+id/editText5"
android:layout_alignEnd="@+id/editText5"
android:enabled="true" />
もし、ボタンの背景色を変更するために
android:background="@color/primary"
タッチアニメーション、シャドウ、角丸など、すべてのスタイルが消えます。
解決方法は?
を使用することができます。 マテリアルコンポーネントライブラリ .
追加
依存関係
を
build.gradle
:
dependencies { implementation ‘com.google.android.material:material:1.3.0’ }
次に
MaterialButton
をレイアウトに追加してください。
<com.google.android.material.button.MaterialButton
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
app:strokeColor="@color/colorAccent"
app:strokeWidth="6dp"
app:layout_constraintStart_toStartOf="parent"
app:shapeAppearance="@style/MyShapeAppearance"
/>
を確認することができます。 完全なドキュメント こちらと APIはこちら .
を変更するには 背景色 の2つの方法があります。
-
を使用すると
backgroundTint
属性を使用します。
のようなものです。
<style name="MyButtonStyle"
parent="Widget.MaterialComponents.Button">
<item name="backgroundTint">@color/button_selector</item>
//..
</style>
-
私の意見では、これが最良の選択肢になると思います。デフォルトのスタイルからテーマ属性をオーバーライドしたい場合は、新しい
materialThemeOverlay
属性があります。
のようなものです。
<style name="MyButtonStyle"
parent="Widget.MaterialComponents.Button">
<item name=“materialThemeOverlay”>@style/GreenButtonThemeOverlay</item>
</style>
<style name="GreenButtonThemeOverlay">
<!-- For filled buttons, your theme's colorPrimary provides the default background color of the component -->
<item name="colorPrimary">@color/green</item>
</style>
オプション#2には、少なくともバージョン
1.1.0
.
これらのスタイルのいずれかを使用することができます。
-
塗りつぶしボタン(デフォルト)
:
style="@style/Widget.MaterialComponents.Button
-
テキストボタン
:
style="@style/Widget.MaterialComponents.Button.TextButton"
-
アウトラインボタン
:
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
OLDサポートライブラリ。
新しい
サポートライブラリ 28.0.0
が追加され、デザインライブラリには
MaterialButton
.
でこのボタンをレイアウトファイルに追加します。
<android.support.design.button.MaterialButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="YOUR TEXT"
android:textSize="18sp"
app:icon="@drawable/ic_android_white_24dp" />
デフォルトでは、このクラスは アクセントカラー の背景色に、ボタンのテキスト色に白を使用することで、テーマを満たします。
これらの属性を使用して、ボタンをカスタマイズすることができます。
-
app:rippleColor
: ボタンの波紋の効果に使用する色 -
app:backgroundTint
: ボタンの背景に色合いを適用するために使用します。ボタンの背景色を変更したい場合は、backgroundの代わりにこの属性を使用します。 -
app:strokeColor
: ボタンのストロークに使用する色 -
app:strokeWidth
: ボタンのストロークに使用される幅 -
app:cornerRadius
: ボタンの角に使用する半径を定義するのに使用します。
関連
-
Android: インポートモジュールエラー Android リソースのリンクに失敗しました
-
Androidのカラーグラデーション実装のまとめ
-
Android Studioのgitの使用とgitの設定パス
-
android.content.ActivityNotFoundException を解決します。Intent問題を処理するActivityが見つからない
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
-
[解決済み】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.mk:7: *** セパレータがありません。
-
gitlab 設定エラー。リモートリポジトリから読み込めなかったか、ホストキーの検証に失敗しました。
-
AndroidStudio3.0 Error:Execution failed for task ':app:processDebugResources'.
-
ArrayAdapter は、リソース ID が TextView であることが必要です。
-
android studioが "The activity must be exported or contain an intent-filter" と表示され実行される。
-
エラー:未宣言の識別子(AS)の使用
-
問題 ---- Android ---- ActivityManager: Error: アクティビティクラス{xx/xx.MainActivity}が存在しない
-
Android Bluetooth 開発の基本プロセス
-
android bluetooth--Bluetooth on、検索、ペアリング、接続
-
Android Studio http://schemas.android.com/apk/res/android 「URIが登録されていません」の解決方法について