我有一个 Android 应用程序,它使用我在右上角添加MapView
的控件(移动到用户的当前位置)。ImageButton
我遇到的问题是 ImageButton 控件的背景太透明了,但是更改它android:background="#BBFFFFFF"
会改变背景的大小并删除您通常在按下按钮时看到的蓝色“闪光” - 我希望保留这两个品质。
我从这样的事情开始:
<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 样式和主题的内容,但甚至无法弄清楚该按钮的样式/主题来自何处,以及如何在保留所有其他视觉功能的同时覆盖背景颜色/不透明度。