zoukankan      html  css  js  c++  java
  • Android布局(四)spinner

    一、用法

    private static final String[] channalnum = {"自动获取","1","4","8","16","32"};
    
    mSpn=(Spinner)findViewById(R.id.channalspinner);
            
            mApt = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item,channalnum);
            mSpn.setAdapter(mApt);
            mSpn.setOnItemSelectedListener(new OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> arg0, View arg1,
                        int position, long id) {
                        pos=position;
                }
    
                @Override
                public void onNothingSelected(AdapterView<?> arg0) {
                }
            });

    spinner没有TextView类,没有setText方法,如果要让spinner显示某一项,则要用mSpn.setSelection(int postion);

    比如:在代码中,固定要求刚进来时选择某项,用mSpn.setSelection(4);在本例中,设置4,则默认显示16;若不设置,默认显示第一个,即“自动获取”。


    效果如下

                                        

                          图一   simple_spinner_dropdown_item                                                                    图二  simple_spinner_item

    二、显示

    spinner下拉列表有两种显示方式,分别是android.R.layout.simple_spinner_dropdown_item(如上)以及simple_spinner_item。

    我们一般常用simple_spinner_dropdown_item,因为很显然它的展开框更漂亮一点。但是怎么去掉它默认显示时,即“自动获取”中那个丑丑的圆圈了?

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    三、去掉圈圈

    其实,我们在设置mApt = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,channalnum)时,第二个参数表示spinner没有展开前的UI类型

    而spinner展开后的类型,其实是Adapter的显示类型。我们可以再设置mApt.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)。这样既可。

    显示部分的完整代码:

    1         mSpn=(Spinner)findViewById(R.id.channalspinner);
    2         //第二个参数为spinner未展开时的UI显示
    3         mApt = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,channalnum);
    4         //设置Adapter,其实也是此spinner展开时的UI显示
    5         mApt.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    6         //设置展开框的首部提示信息
    7         mSpn.setPrompt("请选择通道数");
    8         mSpn.setAdapter(mApt);

    效果图:  
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    ps:ArrayAdapter还有另外一种构造方式

       ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.planets_arry, android.R.layout.simple_spinner_item);

      R.array.planets_arry是在xml文件里写死的,

    在strings.xml中

    <resources>     <string name="planet_prompt">太阳系行星:</string>     <string-array name="planets_arry">         <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>

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    四、提示头加图标

         效果:

         在网上查了下,没找到有人专门要加这个图标的,那么就应该是系统自带的,那么为什么我的没显示了?呜呜,照着别人的全都在xml里面写,可是还是没有。我也不知道是为什么?

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------五、选项中,既有文字,又有图像的

    效果图:

    别的没有什么不一样,但很明显adapter要最自己写,不能用ArrayAdapter了,要继承BaseAdapter。

    具体可参考http://blog.csdn.net/pathuang68/article/details/6404461

  • 相关阅读:
    DALSA线阵相机调焦、平场校正、行频微调
    千兆网卡、万兆网卡设置
    【转载】.h头文件 .lib库文件 .dll动态库文件之间的关系,静态编译、动态编译
    【转载】工控机插槽
    镜头的选择
    相机SDK流程
    光栅尺触发DALSA线阵相机
    Go语言备忘录(3):net/http包的使用模式和源码解析
    Go语言备忘录(2):反射的原理与使用详解
    Go语言备忘录(1):基本数据结构
  • 原文地址:https://www.cnblogs.com/wyqfighting/p/3076105.html
Copyright © 2011-2022 走看看