RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1032111
Accepted
Anton Pankratov
Anton Pankratov
Asked:2020-10-07 22:30:58 +0000 UTC2020-10-07 22:30:58 +0000 UTC 2020-10-07 22:30:58 +0000 UTC

如何制作自定义 Spinner?(里面的照片)

  • 772

微调器

我设法使传出列表出现在初始行的顶部,但我需要它低于它(如图所示)。这个怎么做?以及如何将箭头设置为向右,这样当您单击微调器时,它会动画地向下转动?

android
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Andrew
    2020-10-07T22:47:39Z2020-10-07T22:47:39Z

    要制作自定义微调器,您有两种选择:使用库或自己制作。这是一个带有libs的库或页面。第二种选择是自己制作微调器,这意味着为微调器列表项创建标记并为整个微调器创建样式。第二个选项更耗时,但最终你会得到一个非常可定制的视图元素。选择什么取决于你。

    更新

    1. 我们做标记(在这种情况下,我的,但你可以做任何你喜欢的):

      <TextView
          android:id="@+id/title"
          android:layout_width="0dp"
          android:layout_height="match_parent"
          android:layout_marginStart="5dp"
          android:layout_weight="17"
          android:ellipsize="end"
          android:gravity="start"
          android:maxLines="1"
          android:singleLine="true"
          android:textAlignment="gravity"
          android:textColor="@color/black"
          app:autoSizeTextType="uniform" />
      
      <TextView
          android:id="@+id/number"
          android:layout_width="0dp"
          android:layout_height="wrap_content"
          android:layout_marginEnd="5dp"
          android:layout_weight="3"
          android:ellipsize="end"
          android:maxLines="1"
          android:textAlignment="center"
          android:textColor="@color/black"
          app:autoSizeTextType="uniform" />
      

    2. 接下来我们制作一个适配器:

         class SpinnerAdapter(var ctx: Context, var title: List<String>,var count:List<Int>): BaseAdapter() {
      override fun getView(i: Int, p1: View?, p2: ViewGroup?): View {
          val inflater = LayoutInflater.from(ctx)
          val view1 = inflater.inflate(R.layout.spinner_item, null) as View
          val titles = view1.findViewById(R.id.title) as TextView
          val counts = view1.findViewById(R.id.number) as TextView
          titles.text = title[i]
          counts.text = count[i].toString()
      
          return view1
      }
      
      override fun getItem(p0: Int): Any? {
          return null
      }
      
      override fun getItemId(p0: Int): Long {
          return 0
      }
      
      override fun getCount(): Int {
          return title.size
      }
      

      }

    将您的数据发送到此适配器以填写字段。

    1. 我们将上面所做的一切连接到活动中的一个堆(片段)中:

      val recordStatuses = view.findViewById(R.id.recordStatus) as Spinner
      val spinnerAdapter = SpinnerAdapter(context!!, statuses, statusCounts)
      recordStatuses.adapter = spinnerAdapter
      recordStatuses.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
              override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) {
      
      
              }
      
              override fun onNothingSelected(parent: AdapterView<*>) {
      
              }
          }
      

    我认为重点很清楚:)

    • 1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    根据浏览器窗口的大小调整背景图案的大小

    • 2 个回答
  • Marko Smith

    理解for循环的执行逻辑

    • 1 个回答
  • Marko Smith

    复制动态数组时出错(C++)

    • 1 个回答
  • Marko Smith

    Or and If,elif,else 构造[重复]

    • 1 个回答
  • Marko Smith

    如何构建支持 x64 的 APK

    • 1 个回答
  • Marko Smith

    如何使按钮的输入宽度?

    • 2 个回答
  • Marko Smith

    如何显示对象变量的名称?

    • 3 个回答
  • Marko Smith

    如何循环一个函数?

    • 1 个回答
  • Marko Smith

    LOWORD 宏有什么作用?

    • 2 个回答
  • Marko Smith

    从字符串的开头删除直到并包括一个字符

    • 2 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5