Пользовательский фон диалога действует очень странно - PullRequest
3 голосов
/ 14 января 2012

Я создаю небольшую игру для Android.В данный момент я просто создаю пользовательский интерфейс для экрана меню.

Поскольку я делаю деревянную тему, я также хочу использовать собственный диалог для отображения рекордов и т. Д., Чтобы он соответствовал теме.

Я нашел несколько хороших руководств, но у меня возникла очень странная проблема с фоном диалога.Диалог почти прозрачен.

Что я сделал: - создал dialog_theme.xml с:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Dialog" parent="android:Theme">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:backgroundDimEnabled">false</item>
  </style>
</resources>
  • создал custom_dialog.xml с нужными мне элементами (TextView для заголовка и содержимого и нажмите кнопку длязакрыть)
  • создал класс CustomDialog, который расширяет Dialog, и позволяет мне довольно просто создавать эти настраиваемые диалоги, используя содержимое и заголовок, которые я хочу
  • , используя CustomDialog в действии для создания диалога

(основное руководство, которое я использовал для этого блога.androgames.net/10/custom-android-dialog/)

Проблема в том, что прозрачный фон не всегда прозрачен (показываетпользовательский интерфейс в фоновом режиме).У меня есть 4 пользовательских кнопки в этом меню.Проблема в том, что вместо того, чтобы просто показывать диалоговое окно прозрачным и показывать весь пользовательский интерфейс в фоновом режиме, одно из изображений для кнопки растягивается и заполняет весь фон диалога.Если я просто использую стандартный фон для этой кнопки, фон диалога будет прозрачным и будет отображать пользовательский интерфейс в фоновом режиме, как и должно быть.

Поскольку я, возможно, плохо объяснил, я покажу картинки того, что я имею в виду: - Код кнопки, вызывающей проблему:

<Button
        android:id="@+id/id_about_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/id_achievements_button"
        android:layout_marginTop="15dp"
        android:background="@drawable/selector_about" />

Дает этот результат: (извините, но япока не могу использовать картинки прямо в посте) http://dl.dropbox.com/u/2980431/wrong.png

Изменение кода кнопки на:

<Button
        android:id="@+id/id_about_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/id_achievements_button"
        android:layout_marginTop="15dp"/>

Дает этот результат: http://dl.dropbox.com/u/2980431/correct.png

Надеюсь, кто-тоУ меня есть представление о том, почему это происходит, и о том, как это исправить - если честно, я полностью потерян.

1 Ответ

0 голосов
/ 13 апреля 2012

Все еще не уверен, что случилось. В другом проекте я натолкнулся на то же самое - настраиваемый полупрозрачный фон диалога, к нему добавили еще один объект рисования. Переименование неправильного рисованного изображения в фоновом режиме, а затем очистка проекта исправили это для меня.

Странно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...