2012-01-14 3 views
2

Я создаю маленькую игру для 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 в действии для создания диалогового окна

(главный гид я использовал для этого blog.androgames.net/10/custom-android-dialog/)

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

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

<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"/> 

Giv es this result: http://dl.dropbox.com/u/2980431/correct.png

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

+0

Являются ли файлы для кнопок фоны одинакового размера? Если вы используете 'android: layout_width =" wrap_content ", они будут растягиваться до их полного размера. – silleknarf

+0

Да, все файлы для фона имеют одинаковый размер. У меня есть еще три кнопки со сходными селекторами, определяющими их фон, и это не вызывает никаких проблем. Сама кнопка отлично работает с фоном. – Knirkegaard

ответ

0

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

Странно.

Смежные вопросы