Темный фон вместо пользовательского - но только на ICS - PullRequest
1 голос
/ 03 марта 2012

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

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

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

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

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

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

РЕДАКТИРОВАТЬ: Хорошо, вот макет, который не работает.Поскольку это довольно долго, я оставил ненужные части и добавил некоторые комментарии.Также, прежде чем кто-нибудь спросит.Фон для рисования доступен для любого устройства.Также важно знать, что этот макет используется для всех видов деятельности в качестве основы.Все действия раздувают свои собственные макеты в content-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>

1 Ответ

0 голосов
/ 05 марта 2012

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

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

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

...