序文
Android のボタンは最も一般的に使用されるコントロールであるため、インターネット上ではボタン スタイルの変更について多くの質問があります。カスタム スタイルでは、ボタンの背景を削除することが一般的に必要になります。たとえば、下の図では、
左側のボタン アイコンは、ImageButton
または を使用してImageView
、背景が透明なアイコンをロードできます。右側のテキストのみを表示するボタンは通常の のみ使用できますButton
。
右側のボタンの場合、上記の UI 効果を実現する方法は次のとおりです。
- ボタンの背景と境界線を下部と同じ色に設定して、視覚的な統一感を実現します。
- コントロールをボタンとして使用します
TextView
。TextView
デフォルトでは、背景が透明なテキスト ボックスが表示され、クリック イベントが利用可能です。
最初の解決策は複雑な背景の状況に適応できず、たとえば、背景が壁紙の場合、Button
背景が露出してしまいます。
2 番目のオプションは実行可能ですが、十分にエレガントではありません。水の波紋や押した後の色の変化などのボタンクリック効果がないためTextView
、上記の機能を実現したい場合は、さらに面倒なスタイルのカスタマイズが必要です。
文章
実際、Google では、borderless buttonstyle="?android:attr/borderlessButtonStyle"
という、背景なしのボタン スタイルを公式に提供しています。このスタイルを使用すると、背景と枠なしのボタンを作成できますが、状態 (クリック後など) に応じて外観が変わります。上の図の[キャンセル] ボタンは、典型的なアプリケーション シナリオです。
<Button
style="?android:attr/borderlessButtonStyle"
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
同様の効果には次のものがあります。
style="?android:attr/buttonBarStyle"
style="?android:attr/buttonBarButtonStyle"
誰でも試してみることができます。いずれも透明・フチなしですが、効果が若干異なりますので、最適なものをお選びください。