У меня есть приложение, которое использует фрагменты. На одном из устройств моего пользователя (Коммуникатор HTC One), фрагменты накладываются друг на друга, и его экран заканчивает тем, как беспорядок:Экранные фрагменты Android перекрываются
Я попытался воспроизвести его на моем собственном оборудовании, хотя это а не HTC One. Я также пробовал использовать версию Android 4.1.2, которая является версией, которую он имеет, и она отлично работает. Не хватает времени на покупку HTC One, есть ли у кого-нибудь предложения?
Когда я добавляю в новом фрагменте, я делаю это
Fragment f = new MyFragment();
FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
ft.replace(R.id.mainContent, f);
ft.addToBackStack(null);
ft.commit();
Мой XML макет (обрезанную до соответствующих частей):
<RelativeLayout>
<LinearLayout>
<!-- My home screen content is here -->
</LinearLayout>
<!-- This is where the fragment gets placed -->
<LinearLayout android:id="@+id/mainContent"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>
</RelativeLayout>
UPDATE
Фрагмент, который добавлено:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@drawable/app_bg"
tools:context=".DeviceListActivity" >
<!-- snipped! (for brevity) -->
</RelativeLayout>
Я играю вокруг - я заметил, что если я удалю андроид: фон, я могу воспроизвести проблему, которая заставляет меня поверить, что HTC One по какой-то причине приводит к тому, что свойство фона фрагмента игнорируется.
HTC One использует ресурсы xxhdpi, вы их предоставляете? Кажется, что это может быть связано. – Dalmas
@Dalmas. Это не вызовет проблемы с макетами, это вызовет проблемы с ресурсами, то есть загрузку неправильного ресурса. –