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

这篇具有很好参考价值的文章主要介绍了android——spinner下拉弹窗、popupwindow下拉弹窗列表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、spinner下拉弹窗

效果图如下:

android——spinner下拉弹窗、popupwindow下拉弹窗列表,kotlin - java,android

adapter的代码:

package com.yaona.spinner

import android.R
import android.content.Context
import android.graphics.Color
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ArrayAdapter
import android.widget.TextView

class SpinnerAdapter(
    context: Context,
    textViewResourceId: Int, objects: Array<String>
) : ArrayAdapter<String?>(context, textViewResourceId, objects) {
    private var context: Context
    private var items = arrayOf<String>()

    init {
        items = objects
        this.context = context
    }

    /** 点击后弹窗显示 **/
    override fun getDropDownView(
        position: Int, convertView: View?,
        parent: ViewGroup
    ): View? {
        val tv: TextView = if (convertView == null) {
            val inflater = LayoutInflater.from(context)
            val view = inflater.inflate(R.layout.simple_spinner_item, parent, false)
            view.findViewById(R.id.text1)
        } else {
            convertView.findViewById(R.id.text1)
        }
        tv.text = items[position]
        tv.setTextColor(Color.BLUE)
        tv.textSize = 24f
        return tv
    }

    /** spinner控件显示 **/
    override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
        var convertView = convertView
        if (convertView == null) {
            val inflater = LayoutInflater.from(context)
            convertView = inflater.inflate(
                R.layout.simple_spinner_item, parent, false
            )
        }
        val tv = convertView?.findViewById<View>(R.id.text1) as TextView
        tv.text = items[position]
//        tv.setTextColor(Color.BLUE)
        tv.textSize = 24f
        return convertView!!
    }
}

xml代码:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    <data>

    </data>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">

        <androidx.appcompat.widget.AppCompatSpinner
            android:id="@+id/sp_supply_refund"
            android:layout_width="200dp"
            android:layout_height="70dp"
            android:background="@drawable/spinner_triangle"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>

MainActivity代码

import android.R
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.yaona.spinner.databinding.ActivityMainBinding


class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)

        initSupplierSpinner(mutableListOf("张三", "李四","王五"))
        setContentView(binding.root)
    }

    private fun initSupplierSpinner(list: List<String>) {
        // 创建一个适配器用于显示 Spinner 中的项目列表
        val adapter = SpinnerAdapter(this, R.layout.simple_spinner_item, list.toTypedArray())
        binding.spSupplyRefund.dropDownVerticalOffset = 180
        binding.spSupplyRefund.adapter = adapter
    }
}

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

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

效果图为:

 android——spinner下拉弹窗、popupwindow下拉弹窗列表,kotlin - java,android 

代码下载地址为:

https://download.csdn.net/download/wy313622821/88275750文章来源地址https://www.toymoban.com/news/detail-696853.html

到了这里,关于android——spinner下拉弹窗、popupwindow下拉弹窗列表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 之 Spinner (列表选项框)的基本使用

    本来本节是想给大家介绍一个Gallery(画廊)的一个控件的,后来想想还是算了,因为 在Android 4.1后就已经被弃用了,尽管我们可以通过兼容不来使用Gallery,不过想想 还是算了,因为Gallery在每次切换图片的时候,都需要重新创建视图,这样无疑会造成 很大资源浪费!我们可以通

    2024年02月10日
    浏览(56)
  • uniapp 微信小程序 自定义弹框+picker下拉选择列表+输入表单:拒绝-选择理由弹窗

    效果: 1、template 2、data: 3、methods: 4、style

    2024年01月20日
    浏览(63)
  • Android -- 下拉列表、列表视图、网格视图

    Spinner 用于从一串列表中选择某项,功能类似于单选按钮的组合 下拉列表的展示 方式有两种,一种是在当前下拉框的正下方弹出列表框,此时要把spinnerMode属性设置为 dropdown,另一种是在页面中部弹出列表对话框,此时要把spinnerMode属性设置为dialog。 dropdown 下拉模式       

    2023年04月08日
    浏览(43)
  • Android点选下拉列表框选项,获取选项内容

    的作者做的一个项目,通过app来监测设备是否在线状态,这时就需要实现分别查询“在线”、“离线”、“全部”三种选项的设备情况。也就是要能实现根据在线与否的状态来对设备进行筛选。 要对数据表中数据进行筛选,经常用到下拉列表框来设定选项,当点选不同选项时

    2023年04月08日
    浏览(41)
  • Android PopupWindow+RecyclerView 实现二级联动筛选

    这篇文章主要的功能是利用 PopupWindow 和  RecyclerView 实现条件筛选包括二级联动筛选,主要是仿小红书里的筛选功能而写的一个 Demo 效果如下,代码通俗易懂,保姆级教程 这里我模拟实际接口返回的数据而准备的数据源,在工程目录下新建 assets 资源文件,在新建一个JsonDat

    2024年02月13日
    浏览(78)
  • 无涯教程-Android - Spinner函数

    Spinner允许您从下拉菜单中选择一个项目 例如。使用Gmail应用程序时,将显示如下所示的下拉菜单,您需要从下拉菜单中选择一个项目。 本示例演示计算机的类别,您需要从类别中选择一个类别。 以下是修改后的主要Activity文件src/com.example.spinner/AndroidSpinnerExampleActivity.java的内容。

    2024年02月10日
    浏览(47)
  • Android之Spinner使用详解

    当我们的app需要用户输入数据时,除了让用户自己打字以外,还有一种比较贴心的设计: 列出一组选项让用户从中挑选,从而方便了我们的用户! Spinner组件一共有两个,一个是本身的Spinner,一个是android.support.v7.widget.AppCompatSpinner 两者的区别在于v7内的Spinner是兼容低版本的,Spi

    2023年04月19日
    浏览(34)
  • java eazyexcel 实现excel的动态多级联动下拉列表(1)使用名称管理器+INDIRECT函数

    将数据源放到一个新建的隐藏的sheet中 将选项的子选项的对应字典设置到名称管理器中(名称是当前选项的内容,值是他对应的子菜单的单元格范围,在1里面的sheet中) 子菜单的数据根据INDIRECT函数去左边那个单元格获取内容,根据内容去名称管理器中获取字典的key,也就是

    2024年01月22日
    浏览(51)
  • android-使用PopupWindow实现随机排列的自定义密码键盘

    break; } else { b2 = true; } } if (b2) { data[i] = x; b = false; break; } } } return data; } keyboard_bg_big.xml ?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"? item android:state_pressed=“true” android:drawable=“@drawable/key11”/ item android:state_focused=“true” android:drawable=“@drawable/key12”/ item android:state_focused=“false” android:state_p

    2024年04月27日
    浏览(36)
  • 【Android】自定义Spinner控件及其使用

    在 res/values/ 文件夹下新建一个 arrays.xml 文件: activity_main.xml 文件: 2.1 dropdown模式 效果: 2.2 dialog模式 效果: 在 res/drawable/ 文件夹下新建两个文件: (1) shape_for_custom_spinner.xml 文件(用来定义下拉框的样式): (2) selector_for_custom_spinner 文件(用来定义Spinner控件本身的样

    2023年04月16日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包