📜  如何在 Android 中更改 ListView 项目的背景颜色?

📅  最后修改于: 2022-05-13 01:54:18.572000             🧑  作者: Mango

如何在 Android 中更改 ListView 项目的背景颜色?

在 Android 中,ListView 是一个布局元素,用于显示列表中的项目。这是显示项目列表或数组的最简单形式,可以从预先开发的布局中进行选择以显示元素,而无需像其他类似视图那样创建单独的布局。此视图中的每个项目都是一个单独的布局,并通过水平笔划进行区分。

Android中的ListView

在本文中,我们将向您展示如何在 Android 中单击时更改 ListView 中项目布局的背景。 IDE 准备就绪后,请按照以下步骤操作。

分步实施

第 1 步:在 Android Studio 中创建一个新项目

要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。我们在Kotlin中演示了该应用程序,因此请确保在创建新项目时选择 Kotlin 作为主要语言。

第 2 步:使用 activity_main.xml 文件

导航到app > res > layout > activity_main.xml并将以下代码添加到该文件。下面是activity_main.xml文件的代码。添加一个 ListView,如下所示。

XML


  
    
  


Kotlin
package org.geeksforgeeks.lvitembgchngonclick
  
import android.graphics.Color
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.AdapterView
import android.widget.ArrayAdapter
import android.widget.ListView
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Creating a list of items
        val mList = arrayOf("Android", "IOS", "Windows", "BlackberryOS", "WebOS", "Ubuntu", "Windows7", "Max OS X")
  
        // Declaring and initializing the ListView from 
        // the layout and setting an adapter to display the list
        val mListView = findViewById(R.id.list_view_1)
        mListView.adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, mList)
  
        // Change the item layout background on touch to red
        mListView.onItemClickListener = AdapterView.OnItemClickListener { _, view, _, _ ->
            view.setBackgroundColor(Color.RED)
        }
    }
}


第 3 步:使用 MainActivity.kt 文件

转到MainActivity.kt文件并参考以下代码。下面是MainActivity.kt文件的代码。代码中添加了注释以更详细地理解代码。

科特林

package org.geeksforgeeks.lvitembgchngonclick
  
import android.graphics.Color
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.AdapterView
import android.widget.ArrayAdapter
import android.widget.ListView
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Creating a list of items
        val mList = arrayOf("Android", "IOS", "Windows", "BlackberryOS", "WebOS", "Ubuntu", "Windows7", "Max OS X")
  
        // Declaring and initializing the ListView from 
        // the layout and setting an adapter to display the list
        val mListView = findViewById(R.id.list_view_1)
        mListView.adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, mList)
  
        // Change the item layout background on touch to red
        mListView.onItemClickListener = AdapterView.OnItemClickListener { _, view, _, _ ->
            view.setBackgroundColor(Color.RED)
        }
    }
}

输出:

您可以看到,当我们触摸/单击任何项目时,该项目的布局背景变为红色。