android中的spinner显示为图片列表
来源:互联网 发布:2016能看片的软件 编辑:程序博客网 时间:2024/05/01 03:30
项目结构:
实现的效果:
layout的主要配置文件activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dip" android:text="@string/favor_color" /> <Spinner android:id="@+id/spinner01" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/text02" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dip" android:text="@string/favor_pic" /> <Spinner android:id="@+id/spinner02" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
pic_item.xml文件:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <ImageView android:id="@+id/imageview" android:layout_width="60dp" android:layout_height="60dp" android:paddingLeft="10dp" /> <TextView android:id="@+id/textview" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:paddingLeft="10dp" android:textColor="#000" android:textSize="20sp" /></LinearLayout>
字符设置配置文件string.xml:
<?xml version="1.0" encoding="utf-8"?><resources> <string name="app_name">pspinner</string> <string name="action_settings">设置</string> <string name="favor_color">你喜欢什么颜色??</string> <string-array name="color"> <item>黑色</item> <item>白色</item> <item>黄色</item> <item>蓝色</item> <item>红色</item> </string-array> <string name="favor_pic">你喜欢下面那张图片呀??</string></resources>
主界面的实现acitivity的java文件MainActivity:
package com.qingsong.pspinner;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.os.Bundle;import android.app.Activity;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemSelectedListener;import android.widget.ArrayAdapter;import android.widget.SimpleAdapter;import android.widget.Spinner;import android.widget.Toast;public class MainActivity extends Activity {Spinner sp01;Spinner sp02;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//扎到控件spinnersp01=(Spinner) findViewById(R.id.spinner01);sp02 = (Spinner) findViewById(R.id.spinner02);//获取颜色数组final String[] colors = getResources().getStringArray(R.array.color);//设置sp01的adapterArrayAdapter<CharSequence> adapter =ArrayAdapter.createFromResource(this, R.array.color, android.R.layout.simple_spinner_dropdown_item);sp01.setAdapter(adapter);//设置团出列表标题sp01.setPrompt("自选颜色");//设置默认选项不弹出提示sp01.setSelection(0, true);//监听spinner选项按钮sp01.setOnItemSelectedListener(new OnItemSelectedListener(){public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {// TODO Auto-generated method stub//给出提示选择的选项Toast.makeText(MainActivity.this, "你选择的颜色是:" + colors[arg2], Toast.LENGTH_SHORT).show(); }public void onNothingSelected(AdapterView<?> arg0) {// TODO Auto-generated method stub}});//声明一个简单simpleAdapterSimpleAdapter simpleAdapter =new SimpleAdapter(this, getListData(), R.layout.pic_item,new String[]{"npic","namepic"}, new int[]{R.id.imageview,R.id.textview});//绑定到sp02sp02.setAdapter(simpleAdapter);sp02.setOnItemSelectedListener(new OnItemSelectedListener(){@Overridepublic void onItemSelected(AdapterView<?> parent, View view,int position, long id) { //parent为一个Map结构的和数据Map<String, Object> map = (Map<String, Object>) parent.getItemAtPosition(position); Toast.makeText(MainActivity.this, map.get("namepic").toString(),Toast.LENGTH_SHORT).show();}public void onNothingSelected(AdapterView<?> arg0) {// TODO Auto-generated method stub}});}public List<Map<String, Object>> getListData() {List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); //每个Map结构为一条数据,key与Adapter中定义的String数组中定义的一一对应。HashMap<String, Object> map = new HashMap<String, Object>(); map.put("npic", R.drawable.ace); map.put("namepic", "图片1"); list.add(map); HashMap<String, Object> map2 = new HashMap<String, Object>(); map2.put("npic", R.drawable.nami); map2.put("namepic", "图片2"); list.add(map2); HashMap<String, Object> map3 = new HashMap<String, Object>(); map3.put("npic", R.drawable.shanks); map3.put("namepic", "图片3"); list.add(map3); HashMap<String, Object> map4 = new HashMap<String, Object>(); map4.put("npic", R.drawable.zoro); map4.put("namepic", "图片4"); list.add(map4); HashMap<String, Object> map5 = new HashMap<String, Object>(); map5.put("npic", R.drawable.vivi); map5.put("namepic", "图片5"); list.add(map5);return list;}}
使用的图片文件都是自己去网上下载的,随便下载几个就行。
自学第一篇文章吧,还有很多没搞明白,慢慢学习吧。
有疑问的可以参考一下这篇文章:http://blog.csdn.net/itde1/article/details/7408526
应该是高手写的,讲述的不错
- android中的spinner显示为图片列表
- Android-Spinner下拉列表显示
- android--列表中显示资源中的图片
- Android Spinner显示周月跨度列表
- Android中的Spinner 下拉列表的用法
- Spinner显示下拉列表
- android实现多列显示的下拉列表框-Spinner
- android实现多列显示的下拉列表框-Spinner
- Android之Spinner选中列表数据不显示数据问题
- Android Spinner值不显示,选择列表正常
- Android 下拉列表 Spinner
- Android Spinner 下拉列表
- android spinner下拉列表
- android Spinner 下拉列表
- android Spinner下拉列表
- android Spinner(下拉列表)
- Android下拉列表Spinner
- Android:下拉列表Spinner
- android获得设备的全球唯一标识
- 关于安装lamp环境之后出现的问题的排查
- Oracle 查询计划分析
- 让Maven正确处理javac警告
- 学会安排事情的优先级
- android中的spinner显示为图片列表
- Android电源管理机制剖析
- 逃离社交网络--- 我们得谈谈
- linux下一个网卡配置多个IP 详细出处参考:http://www.jb51.net/LINUXjishu/10935.html
- Android开发笔记之《Activity与Intent》
- 【jiasuba】chrome浏览器经常卡住,无法滚动网页解决方法
- Java 文件分块上传服务器端源代码
- VS2010下编译配置qwt
- Android 开发中使用 SQLite 数据库