首页 > 其他分享 >android下拉菜单 spinner 学习

android下拉菜单 spinner 学习

时间:2023-04-03 23:09:46浏览次数:28  
标签:Spinner 控件 array public spinner item android 下拉菜单


首先看一下继承关系:

public class

Spinner

extends

AbsSpinner


implements

DialogInterface.OnClickListener

Class Overview



视图在同一时间只能显示一个子项,用户通过下拉的方式可以选择其中的一种项。该子项在 Spinner来自来Adpater 视图适配器。

首先看一下效果图:

android下拉菜单 spinner 学习_控件

Spinner 控件的使用

一个简单的Spinner使用只需要下面几步:

(1)新建一个工程

(2)在布局文件中插入一下 Spinner 控件

布局如下:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.jcdh.jcli.spinner.MainActivity">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Where are you from"
        android:id="@+id/textView"
        android:textSize="30sp"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        />

    <Spinner
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/planets_spinner"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
         />
</LinearLayout>


在资源Value/String定义一个数组:

array defined in a stringresource file:


<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="planets_array">
        <item>Mercury</item>
        <item>Venus</item>
        <item>Earth</item>
        <item>Mars</item>
        <item>Jupiter</item>
        <item>Saturn</item>
        <item>Uranus</item>
        <item>Neptune</item>
    </string-array>
</resources>

spinner 控件可以放在Activiy或Fragment中,通过Adapter得到数据源:


Spinner spinner = (Spinner) findViewById(R.id.spinner);

 setOnItemSelectedListener(this)


 // Create an ArrayAdapter using the string array and a default spinner layoutArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item);



 // Specify the layout to use when the list of choices appearsadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);



 // Apply the adapter to the spinnerspinner.setAdapter(adapter);


例,Activity 处理监听:


public class SpinnerActivity extends Activity implements OnItemSelectedListener {
    ...
    
    public void onItemSelected(AdapterView<?> parent, View view, 
            int pos, long id) {
        // An item was selected. You can retrieve the selected item using
        // parent.getItemAtPosition(pos)
    }

    public void onNothingSelected(AdapterView<?> parent) {
        // Another interface callback
    }
}

最后出效果:

android下拉菜单 spinner 学习_spinner_02


标签:Spinner,控件,array,public,spinner,item,android,下拉菜单
From: https://blog.51cto.com/u_12389088/6167643

相关文章

  • android 解决ScrollView嵌套ListView的问题,不能全屏,全屏不能显示下面控件
    在开发中遇到ScrollView嵌套ListView的问题,最开始发出不能全屏,效果是这样的;但我想要的效果是这样的:下面看一下布局文件:<?xmlversion="1.0"encoding="utf-8"?><ScrollViewxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_p......
  • Android 在程序中动态添加 View 布局或控件
    有时我们需要在程序中动态添加布局或控件等,下面用程序来展示一下相应的方法:1、addView添加View到布局容器2、removeView在布局容器中删掉已有的View3、LayoutParams 设置View的大小位置下面来看一个demo;publicclassMainActivityextendsActivity{ @Override protectedvo......
  • Android ImageView 详述
    结构继承关系publicclassView.OnClickListnerextendsView java.lang.Objectandroid.view.Viewandroid.widget.ImageView类概述显示任意图像,例如图标。ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染)各......
  • Android中常用的5大布局详述
    Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。       所有的布局方式都可以归类为ViewGroup的5个类别,即ViewGroup的5个直接子类。其它的一些布局都扩展自这5个......
  • Android与STM32通信中巧妙解决中文乱码问题
    前言网上一大堆都是要多种格式相互转换,并且要很大的字库文件,对于小应用工程,小容量的STM32芯片,额外多出这些开销会感到蛮不舒服的,而且绝大部分的乱码问题时发生在STM32这边,所以本文是从Android端解决编码格式转化的问题,STM32那边稍做处理即可,我做的转换是从UTF-8转到GBK解决方案......
  • Android开发-Android常用组件-SeekBar拖动条
    4.9 SeekBar拖动条android:max滑动条的最大值android:progress滑动条的当前值android:secondaryProgress二级滑动条的进度android:thumb滑块的drawable 接着要说下SeekBar的事件了,SeekBar.OnSeekBarChangeListener我们只需重写三个对应......
  • 成品直播源码推荐,Android 禁止下拉菜单栏
    成品直播源码推荐,Android禁止下拉菜单栏1.屏蔽非锁屏下的下拉菜单栏这种Android系统其实是提供了方法的,只不过是隐藏的,只给系统应用,也就是用mk编译的apk使用。如果第三方应用想要使用,或者Androidstuido编译方式的想要使用。则可以使用反射。 /** *Allowsanapptoco......
  • 搭建直播平台,android 如何得到本地视频的缩略图
    搭建直播平台,android如何得到本地视频的缩略图 publicclassVideoThumbUtils{  /**   *得到视屏的缩略图   *   *@paramvideoPath   *@paramwidth   *@paramheight   *@return   */  publicstaticBitmapgetVideoThum......
  • Android AVB中的几种Descriptor
    avbtoolinfo_image查看img信息./android/external/avb/avbtoolinfo_image--imageout/evb/download_images/emmc/vbmeta.imgMinimumlibavbversion:1.0HeaderBlock:256bytesAuthenticationBlock:576bytesAuxiliaryBlock:3456byte......
  • Android Studio——sdk相关包
    SDKPlatforms相关   SDKTools相关 ......