右上隅に追加した(ユーザーの現在の場所に移動するための)コントロールMapView
付きのを使用するAndroidアプリケーションがあります。ImageButton
私が抱えている問題は、ImageButtonコントロールの背景が透明すぎることですが、それをandroid:background="#BBFFFFFF"
変更すると、背景のサイズが変更され、ボタンが押されたときに通常表示される青い「フラッシュ」が削除されます。これは、保持したい2つの品質です。
私はこのようなものから始めます:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="my api key"
/>
<ImageButton android:id="@+id/googlemaps_select_location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_marginTop="13dp"
android:layout_marginRight="13dp"
android:src="@drawable/device_access_location_found"/>
</RelativeLayout>
これは次のようなものを実現します:
だから私は追加します:
android:background="#BBFFFFFF"
そして私はこれを手に入れます:
これは基本的に私が望む不透明度のレベルですが、背景を変更するとパディングに影響し、押したときに青い「フラッシュ」が表示されないことに注意してください(これは明らかにこの質問には示されていません)。
だから私の質問は、ボタンの他の視覚的品質を維持しながら、押されていない状態で背景色/不透明度だけを変更するにはどうすればよいですか?Androidのスタイルとテーマについて簡単に読んだのですが、このボタンがそのスタイル/テーマをどこから取得しているのか、他のすべての視覚的機能を保持しながら背景色/不透明度をオーバーライドする方法を理解することさえできません。