#android #google-maps #android-relativelayout #togglebutton
#Android #google-карты #android-relativelayout #кнопка переключения
Вопрос:
У меня очень простой макет: RelativeLayout с MapView и кнопкой переключения. Почему кнопка переключения отображается прозрачной, когда я нигде не указывал, что она должна быть, и реальный вопрос, как я могу ее остановить?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@ id/mainlayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<com.google.android.maps.MapView
android:id="@ id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="NoYouCantSeeMyKey" />
<ToggleButton android:id="@ id/aerialsbutton"
android:layout_width="150px"
android:layout_height="50px"
android:textOn="Aerials On"
android:textOff="Aerials Off"
android:layout_alignParentRight="true" />
</RelativeLayout>
Я попытался установить значение alpha равным 1 и переключить порядок MapView и ToggleButton, но безуспешно. Любая помощь очень ценится.
ОБНОВЛЕНИЕ: у меня установлена тема android:theme="@android:style/Theme.Holo.NoActionBar"
приложения. Может ли это иметь значение?
ОБНОВЛЕНИЕ 2: тема не имеет значения. Здесь я в тупике.
Комментарии:
1. Вы пробовали android: атрибут disabledAlpha?
2. Это не помогло и не должно, потому что моя кнопка переключения не отключена.
3. вы можете указать setBackgroundDrawable (Drawable d)
4. Спасибо за предложение. На что бы я ее установил? Мне просто нужна стандартная кнопка переключения, без прозрачности.
Ответ №1:
К ней должна быть применена тема или стиль, которые определены где-то еще. Это не стиль кнопки переключения по умолчанию. Вот часть снимка экрана с почти идентичным XML-файлом в моем тестовом проекте — здесь показана кнопка переключения по умолчанию:
Я надеюсь, что это принесет какую-то пользу.
Комментарии:
1. Спасибо, какую тему / стиль вы применили к кнопке переключения на скриншоте? Мне просто нужен Honeycomb по умолчанию, который, как я думал, был Holo.
2. Я вообще не применял какую-либо тему. Я только что попробовал приложение на эмуляторе API 11 (Honeycomb), и кнопка выглядит так же, как на моем снимке экрана.
3. Итак, я только что создал новое приложение на API 11 с соответствующей версией эмулятора, без каких-либо настроек стиля или темы, а кнопка переключения по-прежнему прозрачна на карте. Не могли бы вы поделиться со мной своим кодом, чтобы я мог воспроизвести, как вы получили непрозрачную кнопку?
4. Пометка как ответ, потому что я подозреваю, что виновником здесь является моя среда разработки, и ваш ответ должен сработать.
Ответ №2:
Я решил эту проблему, просто добавив стиль в тег ToggleButton:
<ToggleButton
android:id="@ id/my_toggle_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="@string/toggle_button_on"
android:textOff="@string/toggle_button_off"
style="@android:style/Widget.Button.Toggle"/>
Я надеюсь, что это поможет кому-то с той же проблемой. 🙂