#android
Вопрос:
RecyclerLayout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent"
android:background="#FF00FF">
<androidx.recyclerview.widget.RecyclerView
android:id="@ id/Recyclergrid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
app:cardBackgroundColor="@color/app_background"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/Boxlayout" />
<LinearLayout >
CardLayout.xml
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:layout_gravity="center"
android:foreground="?selectableItemBackgroundBorderless"
android:layout_marginBottom="20dp"
android:id="@ id/root">
<androidx.cardview.widget.CardView
android:id="@ id/CardLayout"
android:layout_width="100dp"
android:layout_height="150dp"
app:cardCornerRadius="4dp"
app:cardElevation="0dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@id/TextView"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@ id/idIVcourseIV"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop" />
</androidx.cardview.widget.CardView>
<TextView
android:id="@ id/TextView"
android:layout_width="0dp"
android:fontFamily="sans-serif"
android:layout_height="wrap_content"
android:ellipsize="end"
android:minLines="2"
android:maxLines="2"
android:layout_marginTop="4dp"
android:textColor="#FFFFFF"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Код java, который я использую, это
Rcv= findViewById(R.id.Recyclergrid );
CardArray= new ArrayList<>();
CardArray.add(new DataModel("Text" ,"Title"));
RecyclerAdapter RcvAdapter= new RecyclerAdapter(this, CardArray)
Rcv.setLayoutManager(new GridLayoutManager(this, 3));
Rcv.setAdapter(RcvAdapter);
Результат, который я получаю, таков
https://i.stack.imgur.com/utWhA.jpg
Я попытался добавить gravity=»центр» в recycleview, но это все равно не сработало, я сделал обходной путь, добавив отступ в представление карты и центрируя представление переработчика. Есть ли правильный способ исправить это
Ответ №1:
Прежде Всего, Не Используйте фиксированные поля.
Используйте android:гравитация = «центр» в главном макете вашего RecyclerView.
Или Получить Надлежащую Помощь. Здесь вы можете использовать макет сетки для отображения ваших данных в приложении с соответствующими полями.
следуйте этому и установите в приложении. https://developer.android.com/reference/android/widget/GridLayout
Комментарии:
1. Компоновка сетки устарела. Несмотря на то, что он не устарел, его не рекомендуется использовать.