Артефакты в списке на пряниках при использовании библиотеки фрагментов - PullRequest
0 голосов
/ 14 июля 2011

Я портирую свой экран настроек на Honeycomb, но, поскольку он все еще должен быть доступен в Gingerbread, я использую библиотеку поддержки фрагментов. Тестирование телефона на Nexus One.

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

Мой фрагмент выглядит так:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">
    <fragment class="dk.nindroid.rss.settings.SourceSelector"
            android:id="@+id/sources"
            android:layout_width="match_parent" android:layout_height="match_parent" />
</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="wrap_content"
    android:orientation="horizontal">
    <ImageView android:id="@+id/icon" 
        android:layout_width="48dip"
        android:layout_height="48dip"
        android:layout_alignParentLeft="true" />
    <TextView android:id="@id/android:title" 
        xmlns:android="http://schemas.android.com/apk/res/android" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:gravity="center_vertical"
        android:textSize="24sp"
        android:textColor="#FFFFFF"
        android:paddingLeft="10sp"
        android:singleLine="true" />
</LinearLayout>

Без этого экран выглядит следующим образом. С текстом верхняя часть текста также обрезается. error

Редактировать: Возможно, мне следует добавить вопрос: я делаю что-то не так или это ошибка в библиотеке поддержки фрагментов?

1 Ответ

0 голосов
/ 01 февраля 2012

Проблема была в строке FragmentActivity (которую я не публиковал):

getWindow().requestFeature(Window.FEATURE_ACTION_BAR);

Удаление этого (или, точнее, только показ его на устройствах Honeycomb +) решило проблему:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
    getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...