Я разработал приложение для Android, и на одном экране отображается сетка с двумя элементами по строке.
Каждый элемент состоит из изображения с текстом ниже.
Когдамакет загружен, он показывает элементы в правильном направлении, но когда я прокручиваю вверх, чтобы получить первые, появляется наложение элементов, имеющих многострочный текст.
Это код элемента:
Макет
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<GridView
android:id="@+id/atlas_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="2"
android:orientation="vertical"
android:dividerHeight="15dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="15dp"
android:divider="@android:color/transparent"/>
</LinearLayout>
</RelativeLayout>
Item
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_margin="10dp">
<ImageView
android:id="@+id/atlas_item_image"
android:layout_width="match_parent"
android:layout_height="90dp"
android:layout_gravity="center"
android:layout_margin="15dp"/>
<TextView
android:id="@+id/atlas_item_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textStyle="bold"
android:textColor="@android:color/holo_blue_dark"
android:fontFamily="casual"
android:textAlignment="center"/>
</LinearLayout>
Код для добавления элементов в GridView
:
final GridView gridView = findViewById(R.id.atlas_list);
AtlasItemAdapter adapter = new AtlasItemAdapter(activity, atlasItems);
gridView.setAdapter(adapter);
, где AtlasItemAdapter
- расширение пользовательского классаArrayAdapter<AtlasItem>
, переопределяя метод getView
.
Вы можете проверить приложение в Play Store , чтобы воспроизвести поведение.
Заранее спасибо