Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 588|回复: 0

android Spinner控件的使用-  Android学习

[复制链接]

该用户从未签到

发表于 2011-10-24 14:34:19 | 显示全部楼层 |阅读模式
Spinner位于 android.widget包下,每次只显示用户选中的元素,当用户再次点击时,会弹出选择列表供用户选择,而选择列表中的元素同样来自适配器。Spinner是View类得一个子类。
     先来看看 运行效果吧。







  字符串资源string.xml
Xml代码
<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="hello">Hello World, Activity01!</string>

    <string name="app_name">xh_spinner_test</string>

    <string name="ys">您的爱好</string>

    <string name="lq">篮球</string>

    <string name="zp">足球</string>

    <string name="pq">排球</string>

</resources>
复制代码颜色资源 colors.xml
Xml代码
<?xml version="1.0" encoding="utf-8"?>

<resources>

    <color name="red">#fd8d8d</color>

        <color name="green">#9cfda3</color>

        <color name="blue">#8d9dfd</color>

        <color name="white">#FFFFFF</color>

        <color name="black">#000000</color>

</resources>
复制代码  布局文件 main.xml
Xml代码
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    androidrientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

<TextView  

    android:text="@string/ys"

    android:id="@+id/TextView01"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:textSize="28dip"

    />

<Spinner

        android:id="@+id/Spinner01"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        />

</LinearLayout>
复制代码
Activity01类
java代码
package xiaohang.zhimeng;



import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.Spinner;

import android.widget.TextView;

import android.widget.AdapterView.OnItemSelectedListener;



public class Activity01 extends Activity {

        final static int WRAP_CONETNT = -2;// 表示WRAP_CONTENT的常量

        // 所有资源的图片(足球、篮球、排球) id的数组

        int[] drawableIds = { R.drawable.football, R.drawable.basketball,

                        R.drawable.volleyball };

        // 所有资源字符串 (足球、篮球、排球) id的数组

        int[] msgIds = { R.string.zp, R.string.lq, R.string.pq };



        @Override

        public void onCreate(Bundle savedInstanceState) {

                super.onCreate(savedInstanceState);

                setContentView(R.layout.main);

                Spinner sp = (Spinner) findViewById(R.id.Spinner01);

                BaseAdapter ba = new BaseAdapter() {



                        public int getCount() {

                                // 一共三个选项

                                return 3;

                        }



                        public Object getItem(int position) {

                                return null;

                        }



                        public long getItemId(int position) {

                                return 0;

                        }



                        public View getView(int position, View convertView, ViewGroup parent) {

                                // 动态生成每个下拉项对应的View,每个下拉项View由LinearLayout

                                // 中包含一个ImageView及一个TextView构成

                                // 初始化LinearLayout

                                LinearLayout ll = new LinearLayout(Activity01.this);

                                ll.setOrientation(LinearLayout.HORIZONTAL);

                                // 初始化ImageView

                                ImageView ii = new ImageView(Activity01.this);

                                ii.setImageDrawable((getResources()

                                                .getDrawable(drawableIds[position])));

                                ll.addView(ii);

                                // 初始化TextView

                                TextView tv = new TextView(Activity01.this);

                                tv.setText(" " + getResources().getText(msgIds[position]));

                                tv.setTextColor(R.color.black);

                                tv.setTextSize(24);

                                ll.addView(tv);

                                return ll;

                        }

                };

                // 为Spinner设置内容适配器

                sp.setAdapter(ba);

                sp.setOnItemSelectedListener(new OnItemSelectedListener() {



                        public void onItemSelected(AdapterView<?> parent, View view,

                                        int position, long id) {

                                // 获取主界面TextView

                                TextView tv = (TextView) findViewById(R.id.TextView01);

                                // 获取当前选中选项对应的LinearLayout

                                LinearLayout ll = (LinearLayout) view;

                                // 获取其中的TextView

                                TextView tvn = (TextView) ll.getChildAt(1);

                                // 用StringBuilder动态生成信息

                                StringBuilder sb = new StringBuilder();

                                sb.append(getResources().getText(R.string.ys));

                                sb.append(":");

                                sb.append(tvn.getText());

                                // 信息设置进住界面

                                tv.setText(sb.toString());

                        }



                        public void onNothingSelected(AdapterView<?> parent) {

                        }

                });

        }

}
复制代码
xh_spinner_test.rar (59.07 KB, 下载次数: 2)
回复

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:34:23 | 显示全部楼层

Re:android

学习一下~3Q
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:34:30 | 显示全部楼层

Re:android

灰常好啊~~
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:34:34 | 显示全部楼层

Re:android

代码好杂呀,
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:34:38 | 显示全部楼层

Re:android

try......try
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 11:39 , Processed in 0.360596 second(s), 33 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表