Темный фон вместо пользовательского - но только на ICS

1

У меня проблема с моим приложением на ICS (Google Nexus является тестирующим устройством).

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

Моя проблема сейчас: приложение отлично смотрится на любом тестируемом устройстве, которое является предикой (например, 3.1, 2.3 и т.д.). В то же время фоновый рисунок переопределяется темно-серым фоном (Holo.Dark/Light???).

Мой пользовательский фон довольно яркий, а текст черный. На ICS фон темно-серый, а текст по-прежнему черный (так как я определил его как черный). Таким образом, текст не читается.

Я хочу: на любом устройстве, включая ICS, я хочу, чтобы приложение отображало мой собственный фон. Я не хочу использовать тему по умолчанию.

Надеюсь, этот вопрос не задавался раньше. Я считаю, что у кого-то еще была одна и та же проблема, но я не мог найти что-либо в Google или SO...

EDIT: Хорошо, это макет, который терпит неудачу. Поскольку я долгое время оставлял нерелевантные детали и добавлял некоторые комментарии. Также перед тем, как кто-нибудь спросит. Доступный фон доступен для любого устройства. Также важно знать, что этот макет используется для всех видов деятельности в качестве основы. Все действия раздувают свои собственные макеты в контент-FrameLayout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/bg"
    android:baselineAligned="false"
    android:orientation="vertical" >
    <!-- the background of this LL is _not_ shown on ICS -->

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bg_menu_top"
    android:orientation="horizontal" >
    <!-- the background of this LL is shown on ICS -->

    <!-- the title of the activity at the top of the screen -->
    <TextView
        android:id="@+id/main_frame_title"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1"
        android:gravity="center"
        android:text="Title"
        android:textColor="#FFF"
        android:textSize="25sp"
        android:textStyle="bold" />

    <!-- some other views here -->
    </LinearLayout>


    <!-- this text is not visible on a dark background but on a bright one -->
    <TextView
    android:id="@+id/main_frame_subtitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="5dip"
    android:text="Subtitle"
    android:textColor="#000"
    android:textSize="20sp"
    android:textStyle="bold" />

    <FrameLayout
    android:id="@+id/main_frame_content"
    android:layout_width="match_parent"
    android:layout_height="0dip"
    android:layout_weight="1" >
    <!-- every activity inserts its specific layout here -->
    </FrameLayout>

    <LinearLayout
    android:id="@+id/main_frame_breadcrumb"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bg_menu_top"
    android:orientation="horizontal" >

    <!-- breadcrumb bar at the bottom -->
    <!-- many ImageButtons are here  -->
    </LinearLayout>

</LinearLayout>
  • 0
    Я не готов ответить на ваш вопрос, но я ожидаю, что люди ответят вам с большей готовностью, если вы включите оскорбительный макет.
Теги:
background
android-4.0

1 ответ

0

У меня была аналогичная проблема с фоновым изображением макета, который не отображается на моем Galaxy Nexus. Оказывается, в какой-то момент я включил 2D-аппаратное ускорение графики:

Настройки> Параметры разработчика> Принудительный рендеринг

Отключение этой функции устранило проблему, и теперь мои фоновые изображения отображаются очень хорошо. Это очень расстраивало устранение неполадок, но после того, как я нашел ответ, я увидел, что этот конкретный вариант нарушает довольно широкий спектр различных графических проблем. Во всяком случае, надеюсь, что это в вашем случае. Надеюсь это поможет.

  • 0
    Поскольку я использую много анимации, я не хочу отключать аппаратный рендеринг. :(

Ещё вопросы

Сообщество Overcoder
Наверх
Меню