• android——spinner下拉弹窗、popupwindow下拉弹窗列表


    一、spinner下拉弹窗

    效果图如下:

    adapter的代码:

    1. package com.yaona.spinner
    2. import android.R
    3. import android.content.Context
    4. import android.graphics.Color
    5. import android.view.LayoutInflater
    6. import android.view.View
    7. import android.view.ViewGroup
    8. import android.widget.ArrayAdapter
    9. import android.widget.TextView
    10. class SpinnerAdapter(
    11. context: Context,
    12. textViewResourceId: Int, objects: Array
    13. ) : ArrayAdapter(context, textViewResourceId, objects) {
    14. private var context: Context
    15. private var items = arrayOf()
    16. init {
    17. items = objects
    18. this.context = context
    19. }
    20. /** 点击后弹窗显示 **/
    21. override fun getDropDownView(
    22. position: Int, convertView: View?,
    23. parent: ViewGroup
    24. ): View? {
    25. val tv: TextView = if (convertView == null) {
    26. val inflater = LayoutInflater.from(context)
    27. val view = inflater.inflate(R.layout.simple_spinner_item, parent, false)
    28. view.findViewById(R.id.text1)
    29. } else {
    30. convertView.findViewById(R.id.text1)
    31. }
    32. tv.text = items[position]
    33. tv.setTextColor(Color.BLUE)
    34. tv.textSize = 24f
    35. return tv
    36. }
    37. /** spinner控件显示 **/
    38. override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
    39. var convertView = convertView
    40. if (convertView == null) {
    41. val inflater = LayoutInflater.from(context)
    42. convertView = inflater.inflate(
    43. R.layout.simple_spinner_item, parent, false
    44. )
    45. }
    46. val tv = convertView?.findViewById(R.id.text1) as TextView
    47. tv.text = items[position]
    48. // tv.setTextColor(Color.BLUE)
    49. tv.textSize = 24f
    50. return convertView!!
    51. }
    52. }

    wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

    xml代码:

    1. "1.0" encoding="utf-8"?>
    2. "http://schemas.android.com/apk/res/android"
    3. xmlns:app="http://schemas.android.com/apk/res-auto"
    4. xmlns:tools="http://schemas.android.com/tools">
    5. <data>
    6. data>
    7. android:layout_width="match_parent"
    8. android:layout_height="match_parent"
    9. tools:context=".MainActivity">
    10. android:id="@+id/sp_supply_refund"
    11. android:layout_width="200dp"
    12. android:layout_height="70dp"
    13. android:background="@drawable/spinner_triangle"
    14. app:layout_constraintBottom_toBottomOf="parent"
    15. app:layout_constraintEnd_toEndOf="parent"
    16. app:layout_constraintStart_toStartOf="parent"
    17. app:layout_constraintTop_toTopOf="parent" />

    wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

    MainActivity代码

    1. import android.R
    2. import android.os.Bundle
    3. import androidx.appcompat.app.AppCompatActivity
    4. import com.yaona.spinner.databinding.ActivityMainBinding
    5. class MainActivity : AppCompatActivity() {
    6. private lateinit var binding: ActivityMainBinding
    7. override fun onCreate(savedInstanceState: Bundle?) {
    8. super.onCreate(savedInstanceState)
    9. binding = ActivityMainBinding.inflate(layoutInflater)
    10. initSupplierSpinner(mutableListOf("张三", "李四","王五"))
    11. setContentView(binding.root)
    12. }
    13. private fun initSupplierSpinner(list: List<String>) {
    14. // 创建一个适配器用于显示 Spinner 中的项目列表
    15. val adapter = SpinnerAdapter(this, R.layout.simple_spinner_item, list.toTypedArray())
    16. binding.spSupplyRefund.dropDownVerticalOffset = 180
    17. binding.spSupplyRefund.adapter = adapter
    18. }
    19. }

    wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

    具体的代码下载地址为:https://download.csdn.net/download/wy313622821/88274359

    二、popupwindow下拉弹窗列表(推荐)

    效果图为:

      

    代码下载地址为:

    https://download.csdn.net/download/wy313622821/88275750

  • 相关阅读:
    四嗪-Methyltetrazine-PEG4-NH-Boc/PEG9-acid/PEG8-amine HCl salt/Sulfo-NHS ester性质
    Java程序设计——Swing UI 布局管理器(四)
    【高等数学基础进阶】多元函数微分学-重极限、连续、偏导数、全微分
    Swift类型属性底层研究
    Minio安装
    栈实现计算器
    吃啥大转盘
    源代码加密、源代码防泄漏c/c++与git服务器开发环境
    Git版本控制管理——补丁
    1.什么是jwt?jwt的作用是什么?2.jwt的三个部分是什么?三者之间的关系如何?3.JWT运行的流程是什么
  • 原文地址:https://blog.csdn.net/wy313622821/article/details/132579818