Android之UI控件
本文主要包括以下内容
- Spinner的使用
- 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控件的更多相关文章
- [Android] Android 让UI控件固定于底部的几种方法
Android 让UI控件固定于底部的几种方法1.采用linearlayout布局:android:layout_height="0dp" <!-- 这里不能设置fill_p ...
- Android 优秀UI控件 ---- FlowingDrawer
1,前天在git上看到了一个不错的控件 ,最近两天项目也没有那么赶了,就抽时间来写写代码,锻炼一下手感,先看一下效果吧. 2 整体来看 ,主要是有两块来实现的,①主界面的RecyclerView ,② ...
- Android 常用UI控件之TabHost(5)Tab栏在底部且在最上层也不盖tab页
tab栏在底部 <TabHost android:id="@android:id/tabhost" android:layout_width="match_pare ...
- Android 常用UI控件之TabHost(4)实现当Tab栏有多个tab时,可以左右滑动
<!-- <HorizontalScrollView android:id="@+id/horizontalScrollView1" android:layout_wi ...
- Android 常用UI控件之TabHost(2)简单示例
1,布局 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tool ...
- Android 常用UI控件之TabHost(1)TabHost的两种布局方式
TabHost是Android中的tab组件. TabHost布局文件的基本结构 TabHost下有个layout,这个layout中有TabWidget与FrameLayout.TabWidget是 ...
- Android 常用UI控件之TabHost(3)在4.0不显示图标的解决方案
1,自定义 TabWidget 上每个tab的view 2,用多个图片
- Android 常用UI控件之Tab控件的实现方案
实现Tab的方式有多种 1,ActionBar有两种模式可以实现,但是已经过期 tab模式tab在顶部,分裂模式tab在底部(同时所有action item都在底部). 2,PagerTitleStr ...
- ANDROID L——Material Design详解(UI控件)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...
随机推荐
- 轻量级应用开发之(10) UINavigationController导航控制器
一 多控制器 1)一个iOS的app很少只由一个控制器组成,除非这个app极其简单2)当app中有多个控制器的时候,我们就需要对这些控制器进行管理3)有多个view时,可以用一个大的view去管理1个 ...
- easyUI框架之学习记录汇总
在添加完之后,可以使用 $.parser.parse();这个方法进行处理:(1) 对整个页面重新渲染: $.parser.parse(); (2) 渲染某个特定的objectvar targetOb ...
- Fast-cgi cgi nginx php-fpm 的关系 (转
Fast-cgi cgi nginx PHP-fpm 的关系 Fast-cgi是由cgi发展而来,是http服务器(http,nginx等)和动态脚本语言(php,perl等)之间的的通信接口, ...
- IE 兼容模式下不支持DIV CSS样式display:inline-block,解决
样式改为: display: inline-block;*display: inline;zoom: 1; 就可以了
- POI读写Excel简述之读取
一.POI读取Excel文件(以Excel2003版为例,2007版就是根据文件扩展名xlsx将HSSFWorkbook换为XSSFWorkbook,及其Sheet.Row.Cell也相应替换) // ...
- tomcat8编码
web工程,本机能跑的代码放到生产环境中后能跑但是得不到预期的结果,十有八九的原因是 编码问题
- Netbeans连接数据库
/* Netbeans连接数据库 NetBeans项目的“项目属性”中“库”一栏中.Tab页“编译和运行”中已经加上jdbc的驱动文件 */ Connection conn = null;//连接数据 ...
- 新浪微博客户端(14)-截取回调地址中的授权成功的请求标记,换取access_token
DJOAuthViewController.m #import "DJOAuthViewController.h" #import "AFNetworking.h&quo ...
- Centos上传下载小工具lrzsz
http://www.centoscn.com/image-text/install/2013/0819/1374.html
- ECMAScript6-下一代Javascript标准
介绍 ECMAScript6是下一代Javascript标准,这个标准将在2015年6月得到批准.ES6是Javascript的一个重大的更新,并且是自2009年发布ES5以来的第一次更新. 它将会在 ...