楕円形に丸みを帯びたボタンを備えたアプリがあるため、それらをimageButtonの上に配置すると、画像ボタンは次のように表示されます
しかし、ImageButtonにボタンの境界線ではなく画像のみを表示したい
何か案は?
楕円形に丸みを帯びたボタンを備えたアプリがあるため、それらをimageButtonの上に配置すると、画像ボタンは次のように表示されます
しかし、ImageButtonにボタンの境界線ではなく画像のみを表示したい
何か案は?
はImageButton
まさにこれに使用されます-通常のボタン内に画像が必要な場合。ボタンの背景が必要ない場合は、ImageView
、または通常の を使用してButton
、背景を独自のボタン グラフィックに変更します (ただし、ボタン テキストが画像)。
何らかの理由で本当にを使用する必要がある場合ImageButton
は、background
属性を透明色または @null に設定して境界線を取り除きます。
ImageButton の代わりに ImageView を使用します。ImageButton が既存のボタンの中に画像を配置することを除いて、基本的には同じです。
そのためには、独自のカスタム ボタンを作成する必要があります。
これを試して。drawable に btn_default.xml ファイルを作成し、これを貼り付けます
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true"
android:drawable="@drawable/btn_new_default" />
<item android:state_pressed="true"
android:drawable="@drawable/btn_new_default_pressed" />
<item android:state_focused="true" android:state_enabled="true"
android:drawable="@drawable/btn_new_default" />
<item android:state_enabled="true"
android:drawable="@drawable/btn_new_default" />
</selector>
ボタンが異なる状態、つまりボタンが押されたとき、デフォルトなどで必要な丸みを帯びた画像を作成し、上記のコードで名前が言及されているドローアブルフォルダーに配置するか、上記のドローアブルの名前を変更します。
これが完了したら、通常のボタンの背景として btn_default.xml を設定します。
ボタンが xml で定義されている場合は、android:background 属性を「@null」に設定できます。コードで作成されている場合は、ボタンの setBackgroundDrawable() メソッドを使用し、パラメーターとして null を指定します。