直播系统app源码,Spinner (点击展示选项)使用方法

直播系统app源码,Spinner (点击展示选项)使用方法

1
package com.example.cardwithviewpager2<br> <br>import android.view.View<br>import android.widget.AdapterView<br>import android.widget.ArrayAdapter<br>import android.widget.Spinner<br>import androidx.viewpager2.widget.ViewPager2<br> <br>/**<br> * 配置spinner显示方向选项,并设置ViewPager2的方方向 (持有Spinner 和 ViewPager2对象,相当于委托管理)<br> */<br>class OrientationController(private val viewPager: ViewPager2, private val spinner: Spinner) {<br> <br>    fun setup(){<br>        val orientation = viewPager.orientation<br>        val adapter = ArrayAdapter(spinner.context, android.R.layout.simple_spinner_item,<br>            arrayOf(HORIZONTAL, VERTICAL))<br>        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)<br>        spinner.adapter = adapter<br>        <br>        val initialPosition = adapter.getPosition(orientationToString(orientation))<br>        if (initialPosition >= 0) {<br>            spinner.setSelection(initialPosition)<br>        }<br> <br>        spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {<br>            override fun onItemSelected(<br>                parent: AdapterView<*>,<br>                view: View?,<br>                position: Int,<br>                id: Long<br>            ) {<br>                viewPager.orientation = stringToOrientation(parent.selectedItem.toString())<br>            }<br> <br>            override fun onNothingSelected(parent: AdapterView<*>?) {<br>                TODO("Not yet implemented")<br>            }<br> <br>        }<br>    }<br> <br>    private fun stringToOrientation(orientation: String): Int {<br>        return when(orientation) {<br>            HORIZONTAL -> ViewPager2.ORIENTATION_HORIZONTAL<br>            VERTICAL -> ViewPager2.ORIENTATION_VERTICAL<br>            else -> throw  IllegalAccessException("orientation $orientation doesn't exit")<br>        }<br>    }<br> <br>    private fun orientationToString(orientation: Int): String {<br>       return when(orientation) {<br>           ViewPager2.ORIENTATION_HORIZONTAL -> HORIZONTAL<br>           ViewPager2.ORIENTATION_VERTICAL -> VERTICAL<br>           else -> throw  IllegalAccessException("orientation $orientation doesn't exit")<br>       }<br>    }<br> <br>    companion object{<br>        const val HORIZONTAL = "Horizontal"<br>        const val VERTICAL = "Vertical"<br>    }<br>}

​以上就是直播系统app源码,Spinner (点击展示选项)使用方法, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2021-08-30 Android直播源码APP开发中阴影效果实现
2021-08-30 直播带货app源码,快应用richtext组件背景色填充问题
2021-08-30 Android视频聊天app源码,暗黑模式快速适配
点击右上角即可分享
微信分享提示