📜  Android 中暴露的下拉菜单

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

Android 中暴露的下拉菜单

暴露的下拉菜单是 Android 中 Spinner 的替代品,因为 Spinner 不像新的暴露的下拉菜单那样可定制。下面是示例 GIF,可让您了解我们将要构建的内容。请注意,我们将使用 Kotlin 语言来实现这个项目。

Android 中暴露的下拉菜单

分步实施

第 1 步:创建一个新项目

要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。请注意,选择Kotlin作为编程语言。

步骤 2:使用 activity_main.xml 文件



转到activity_main.xml文件并参考以下代码。下面是activity_main.xml 文件的代码。

XML


  
    
    
  
        
        
          
    
  


XML

      Java
      Kotlin
      Python
      CPP


XML


Kotlin
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.ArrayAdapter
import android.widget.AutoCompleteTextView
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // get reference to the string array that we just created
        val languages = resources.getStringArray(R.array.programming_languages)
        // create an array adapter and pass the required parameter
        // in our case pass the context, drop down layout , and array.
        val arrayAdapter = ArrayAdapter(this, R.layout.dropdown_menu, languages)
        // get reference to the autocomplete text view
        val autocompleteTV = findViewById(R.id.autoCompleteTextView)
        // set adapter to the autocomplete tv to the arrayAdapter
        autocompleteTV.setAdapter(arrayAdapter)
    }
}


第 3 步:将字符串数组项添加到字符串.xml 文件中。我们将使用这些数据来膨胀下拉项

XML


      Java
      Kotlin
      Python
      CPP

第 4 步:创建一个新的布局文件并将其命名为 dropdown_item.xml 文件

转到dropdown_item.xml文件并参考以下代码。下面是dropdown_item.xml文件的代码。这是我们将用作下拉列表中的单个项目的单文本视图。

XML


第 5 步:使用 MainActivity.kt

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

科特林

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.ArrayAdapter
import android.widget.AutoCompleteTextView
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // get reference to the string array that we just created
        val languages = resources.getStringArray(R.array.programming_languages)
        // create an array adapter and pass the required parameter
        // in our case pass the context, drop down layout , and array.
        val arrayAdapter = ArrayAdapter(this, R.layout.dropdown_menu, languages)
        // get reference to the autocomplete text view
        val autocompleteTV = findViewById(R.id.autoCompleteTextView)
        // set adapter to the autocomplete tv to the arrayAdapter
        autocompleteTV.setAdapter(arrayAdapter)
    }
}

输出:

想要一个更快节奏和更具竞争力的环境来学习 Android 的基础知识吗?
单击此处前往由我们的专家精心策划的指南,旨在让您立即做好行业准备!