Как создать горизонтальное окно рециркуляции, используя ограничение ограничений? - PullRequest
0 голосов
/ 19 апреля 2020
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/titleImageViewID"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:contentDescription="@string/todo"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:srcCompat="@drawable/mac" />

        <View
            android:id="@+id/view8"
            android:layout_width="0dp"
            android:layout_height="86dp"
            android:layout_marginTop="168dp"
            android:background="#8A474141"
            app:layout_constraintBottom_toBottomOf="@id/titleImageViewID"
            app:layout_constraintEnd_toEndOf="@+id/titleImageViewID"
            app:layout_constraintHorizontal_bias="1.0"
            app:layout_constraintStart_toStartOf="@+id/titleImageViewID"
            app:layout_constraintTop_toTopOf="@+id/titleImageViewID" />

        <TextView
            android:id="@+id/titleTextViewID"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="20dp"
            android:text="@string/textview"
            android:textColor="@android:color/white"
            android:textSize="24sp"
            android:textStyle="bold"
            app:layout_constraintBottom_toTopOf="@+id/view8"
            app:layout_constraintEnd_toEndOf="@+id/view8"
            app:layout_constraintStart_toStartOf="@+id/view8"
            app:layout_constraintTop_toBottomOf="@+id/titleImageViewID"/>
    </androidx.constraintlayout.widget.ConstraintLayout>

Выше код sample_layout RecyclerView - пожалуйста, предложите только для ConstraintLayout, я использую этот макет, потому что он реагирует на любое устройство, поэтому мне не нужно создавать другой макет для экранов другого размера

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private RecyclerView recyclerView;
    private RecycleAdapter recycleAdapter;
    private RecyclerView.LayoutManager manager;
    private ConstraintLayout constraintLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        recyclerView = findViewById(R.id.recycleViewID);
        manager = new ConstraintLayout(this,ConstraintLayout,View.SCROLL_AXIS_HORIZONTAL,false);

       RecycleModel [] myThumbData = new RecycleModel[]{
       new RecycleModel("Goru banaisi", R.drawable.mac)};}

Не могу понять основной код java, как мне получить доступ ко всему моему XML в java коде, кто-нибудь даст мне правильный код и объяснение, я не смог найти любой вид переработчика с использованием макета ограничений онлайн. Так что решение проблем поможет мне решить мою проблему **

Ответы [ 2 ]

1 голос
/ 19 апреля 2020

LayoutManager

Необходимо правильно установить LayoutManager. Существует несколько базовых c реализаций, например LinearLayoutManager, GridLayoutManager или StaggeredGridLayoutManager.

В Android Документация Вы можете найти информацию, которая:

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

Набор из кода

Вы можете установить их из кода:

layoutManager = new LinearLayoutManager(
        this,
        LinearLayoutManager.HORIZONTAL,   // Here, you have orientation of items
        false
);

// Remember to set your LayoutManager in recycler view, not in adapter!
recyclerView.setLayoutManager(layoutManager);

Набор из XML

В вашем XML Файл макета, где у вас есть адаптер, вы должны установить:

  • orientation и
  • layoutManager.
<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recycler_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />

Recycler View

1 голос
/ 19 апреля 2020

Установите recyclerview manager, как показано ниже:

manager = new LinearLayoutManager(this, RecyclerView.Horizontal, false)
reyclerview.manager = manager
//Then set the adapter
recyclerview.adapter = your adapter.

Это должно включить horizontal scroll для вашего recyclerview.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...