Горизонтальный ListView в Android

Опубликовано: 9 Января, 2023

Чтобы понять горизонтальный ListView в Android, во-первых, мы должны знать о представлении списка в Android. ListView — это прокручиваемая коллекция представлений, где каждое представление расположено непосредственно под предыдущим представлением в списке. Это можно реализовать с помощью RecyclerView .

Горизонтальный список

Горизонтальный ListView — это тип представления, в котором существует множество представлений, и все доступные представления можно прокручивать по горизонтали. Каждый вид размещается рядом с другим видом. Это может быть реализовано HorizontalScrollView. Пример видео приведен ниже, чтобы получить представление о том, что мы собираемся делать в этой статье.

Note: This Android article covered in both Java and Kotlin languages. 

Пошаговая реализация

Шаг 1. Создайте новый проект в Android Studio.

Чтобы создать новый проект в Android Studio, обратитесь к разделу «Как создать/запустить новый проект в Android Studio». Код для этого был предоставлен как на Java, так и на языке программирования Kotlin для Android.

Шаг 2. Работа с файлом activity_main.xml

Перейдите к приложению > res > layout > activity_main.xml и добавьте приведенный ниже код в этот файл. Ниже приведен код файла activity_main.xml .

XML




<!-- XML code for implementing horizontal list view  -->
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    tools:context=".MainActivity">
    
    <!-- linear layout for textView -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:ignore="MissingConstraints">
        
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text=" horizontal Scroll View Example"
            android:textSize="20dp"
            android:layout_margin="10dp"
            android:textColor="@color/purple_700"
            android:layout_gravity="center"/>
    </LinearLayout>
    
      <!-- Horizontal scrollView  -->
    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="120dp">
        
         <!-- using linear layout to store multiple view 
              inside a Horizontal Scroll View -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:background="@color/white">
            
            <!-- multiple button views to show a
                  scrollable horizontal list -->
            <Button
                android:id="@+id/C"
                android:layout_width="wrap_content"
                android:layout_height="100dp"
                android:text="GeeksforGeeks"
                android:padding="4dp"
                android:layout_margin="10dp"
                android:backgroundTint="@color/white"
                android:textColor="@color/black"/>
  
            <Button
                android:id="@+id/Co"
                android:layout_width="wrap_content"
                android:layout_height="100dp"
                android:layout_margin="10dp"
                android:backgroundTint="@color/white"
                android:padding="4dp"
                android:text="GeeksforGeeks"
                android:textColor="@color/black" />
  
            <Button
                android:id="@+id/L"
                android:layout_width="wrap_content"
                android:layout_height="100dp"
                android:padding="4dp"
                android:layout_margin="10dp"
                android:backgroundTint="@color/white"
                android:text="GeeksforGeeks"
                android:textColor="@color/black"/>
            
            <Button
                android:id="@+id/Ha"
                android:layout_width="wrap_content"
                android:layout_height="100dp"
                android:padding="4dp"
                android:layout_margin="10dp"
                android:backgroundTint="@color/white"
                android:text="GeeksforGeeks"
                android:textColor="@color/black"/>
            
            <Button
                android:id="@+id/Hah"
                android:layout_width="wrap_content"
                android:layout_height="100dp"
                android:padding="4dp"
                android:backgroundTint="@color/white"
                android:layout_margin="10dp"
                android:text="GeeksforGeeks"
                android:textColor="@color/black"/>
            
            <Button
                android:id="@+id/ge"
                android:layout_width="wrap_content"
                android:layout_height="100dp"
                android:padding="4dp"
                android:layout_margin="10dp"
                android:backgroundTint="@color/white"
                android:text="GeeksforGeeks"
                android:textColor="@color/black"/>
        </LinearLayout>
        
    </HorizontalScrollView>
    
</androidx.constraintlayout.widget.ConstraintLayout>

Шаг 3: Работа с файлом MainActivity

Перейдите в файл MainActivity и обратитесь к следующему коду. Ниже приведен код файла MainActivity. Комментарии добавляются внутри кода, чтобы понять код более подробно.

Java




// JAVA code for show horizontalListView in Android
package com.example.gfgfirstapp;
  
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
  
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
  
public class MainActivity extends AppCompatActivity {
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        // for change the background color of title bar
        ActionBar aBar; aBar= getSupportActionBar();
        ColorDrawable cd = new ColorDrawable(Color.parseColor("#FF00FF00"));
        aBar.setBackgroundDrawable(cd);
  
    }
}

Kotlin




package com.example.gfgfirstapp;
  
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
  
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
  
class MainActivity : AppCompatActivity() {
    
    var nurl:String?=null
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
          
        // for changing the background color of title bar
        val aBar = supportActionBar
        val cd = ColorDrawable(Color.parseColor("#FF00FF00"))
        aBar?.setBackgroundDrawable(cd)
    }
}

Выход: