本文主要包括以下内容

  1. Spinner的使用
  2. Gallery的使用

Spinner的使用

Spinner的实现过程是

1. 在xml文件中定义Spinner的控件

2. 在activity中获取Spinner控件

3. 定义Spinner下拉列表项数组并将下拉项的内容添加到这个数组中,通过这个数组建立一个下拉列表的适配器

4. 将上3中的适配器配置给获取的Spinner控件

5. 设置下拉列表的显示样式

6. 为获得的Spinner控件添加事件监听

在XML文件中定义

//在主XML中<include android:id="@+id/sp_chose" layout="@layout/spinner_down"/>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="30dip"
android:orientation="horizontal"
android:background="@drawable/filter_bg"
android:layout_marginTop="5dip"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"> <Spinner
android:id="@+id/nearby_distance_spinner"
style="@style/nearby_spinner_style" />
<Spinner
android:id="@+id/nearby_class_spinner"
style="@style/nearby_spinner_style" />
<Spinner
android:id="@+id/nearby_away_spinner"
style="@style/nearby_spinner_style" /> </LinearLayout>

其中背景图片为

nearby_spinner_style为

<style name="nearby_spinner_style">
<item name="android:layout_width">0.0dip</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@null</item>
<item name="android:layout_marginTop">6dip</item>
<item name="android:layout_weight">1.0</item>
</style>

找到Spinner并初始化适配器

private void init() {
// TODO Auto-generated method stub
topText=(TextView) findViewById(R.id.tv_chose_shop);
topText.setText(getIntent().getStringExtra("type"));
disSpi=(Spinner) findViewById(R.id.nearby_distance_spinner);
claSpi=(Spinner) findViewById(R.id.nearby_class_spinner);
awaySpi=(Spinner) findViewById(R.id.nearby_away_spinner); disAdapter=new ArrayAdapter<String>(this, R.layout.nearby_spinner_text, DIS_DATE);
claAdapter=new ArrayAdapter<String>(this, R.layout.nearby_spinner_text, CLASS_DATE);
awayAdapter=new ArrayAdapter<String>(this, R.layout.nearby_spinner_text, AWAY_DATE); }

其中nearby_spinner_text为

<?xml version="1.0" encoding="utf-8"?>

 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textColor="#ffffff"
android:textSize="12sp"/>

设置下拉列表的显示样式并且将适配器配置给spinner

//设置列表项显示风格为完全显示
disAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
claAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
awayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); disSpi.setAdapter(disAdapter);
claSpi.setAdapter(claAdapter);
awaySpi.setAdapter(awayAdapter); disSpi.setSelection(2);
claSpi.setSelection(0);
awaySpi.setSelection(0);

设置监听事件

disSpi.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), DIS_DATE[position], 0).show();
} @Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub } });

完成,效果如下



Android之UI控件的更多相关文章

  1. [Android] Android 让UI控件固定于底部的几种方法

    Android 让UI控件固定于底部的几种方法1.采用linearlayout布局:android:layout_height="0dp" <!-- 这里不能设置fill_p ...

  2. Android 优秀UI控件 ---- FlowingDrawer

    1,前天在git上看到了一个不错的控件 ,最近两天项目也没有那么赶了,就抽时间来写写代码,锻炼一下手感,先看一下效果吧. 2 整体来看 ,主要是有两块来实现的,①主界面的RecyclerView ,② ...

  3. Android 常用UI控件之TabHost(5)Tab栏在底部且在最上层也不盖tab页

    tab栏在底部 <TabHost android:id="@android:id/tabhost" android:layout_width="match_pare ...

  4. Android 常用UI控件之TabHost(4)实现当Tab栏有多个tab时,可以左右滑动

    <!-- <HorizontalScrollView android:id="@+id/horizontalScrollView1" android:layout_wi ...

  5. Android 常用UI控件之TabHost(2)简单示例

    1,布局 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tool ...

  6. Android 常用UI控件之TabHost(1)TabHost的两种布局方式

    TabHost是Android中的tab组件. TabHost布局文件的基本结构 TabHost下有个layout,这个layout中有TabWidget与FrameLayout.TabWidget是 ...

  7. Android 常用UI控件之TabHost(3)在4.0不显示图标的解决方案

    1,自定义 TabWidget 上每个tab的view 2,用多个图片

  8. Android 常用UI控件之Tab控件的实现方案

    实现Tab的方式有多种 1,ActionBar有两种模式可以实现,但是已经过期 tab模式tab在顶部,分裂模式tab在底部(同时所有action item都在底部). 2,PagerTitleStr ...

  9. ANDROID L——Material Design详解(UI控件)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...

随机推荐

  1. pthread_kill

    别被名字吓到,pthread_kill可不是kill,而是向线程发送signal.还记得signal吗,大部分signal的默认动作是终止进程的运行,所以,我们才要用signal()去抓信号并加上处理 ...

  2. servlet 中 web.xml

    <servlet> <servlet-mapping> 他们之间的关系可以使一对一,也可是一对多的关系. <servlet> <servlet-name> ...

  3. leach和leach-c协议仿真

    http://blog.csdn.net/codingkid/article/details/7215216 1.复制leach_test为leach-c_test,修改里面的文件夹和输出文件名.并且 ...

  4. mysql 存储过程中注意的问题

    OPEN cur; REPEAT FETCH cur INTO int_type, int_element_id, int_num, int_user_id; IF NOT _DONE THEN IF ...

  5. DOM 元素 属性和方法

    console.dir() namespaceURI: "http://www.w3.org/1999/xhtml" nextElementSibling: null nextSi ...

  6. nginx负载均衡器处理session共享的几种方法(转)

    1) 不使用session,换作cookie 能把session改成cookie,就能避开session的一些弊端,在从前看的一本J2EE的书上,也指明在集群系统中不能用session,否则惹出祸端来 ...

  7. msmms (一) sms与mms区别

    sms与mms区别 SMS,Short Messaging Service短信业务,可以通过手机等移动设备发送文本型短信.SMS这个术语最早在80年代初期出现,但一直到了90年代初才开始进入商用市场, ...

  8. cocos2dx的内存管理机制

    首先我们必须说一下c++中变量的内存空间的分配问题,我们在c++中写一个类,可以在栈上分配内存空间也可以使用new在堆上分配内存空间,如果类对象是在栈上分配的内存空间,这个内存空间的管理就不是我们的事 ...

  9. reverse array java

    /* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import ...

  10. bitbucket新建分支

    /workspace/ott_app_store:fetch-xml$ git branch edit_package_page /workspace/ott_app_store:fetch-xml$ ...