`

【Android每日一讲】2012.11.29 自定义下拉菜单模式 - Spinner与setDropDownViewResource

阅读更多
1. 范例说明
Spinner就是下拉菜单,由于手机画面有限,要在有限的范围选择项目,下拉菜单是唯一、较好的选择。
本范例的示范重点在于自定义下拉菜单里的样式,其关键在于调用setDropDownViewResource方法,以XML的方式定义下拉菜单要显示的模样,除此之外本范例还设计了一段动画,当User以触控的方式单击这个自定义的Spinner时,会以一段动画提示User。
2. 运行结果






3. 编写代码
private static final String[] countriesStr = { "成都市", "深圳市", "上海市", "天津市" };
private TextView myTextView;
private Spinner mySpinner;
private ArrayAdapter<String> adapter;
Animation myAnimation;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/* 载入main.xml Layout */
setContentView(R.layout.main);
/* 以findViewById()取得对象 */
myTextView = (TextView) findViewById(R.id.myTextView);
mySpinner = (Spinner) findViewById(R.id.mySpinner);


adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,
countriesStr);

/* myspinner_dropdown为自定义下拉菜单样式定义在res/layout目录下 */
adapter.setDropDownViewResource(R.layout.myspinner_dropdown);
/* 将ArrayAdapter加入Spinner对象中 */
mySpinner.setAdapter(adapter);
/* 将mySpinner加入OnItemSelectedListener */
mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
/* 将所选mySpinner的值带入myTextView中 */
myTextView.setText("选择的是" + countriesStr[arg2]);
/* 将mySpinner显示 */
arg0.setVisibility(View.VISIBLE);
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
/* 取得Animation定义在res/anim目录下 */
myAnimation = AnimationUtils.loadAnimation(this, R.anim.my_anim);
/* 将mySpinner加入OnTouchListener */
mySpinner.setOnTouchListener(new Spinner.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
/* 将mySpinner执行Animation */
v.startAnimation(myAnimation);
/* 将mySpinner隐藏 */
v.setVisibility(View.INVISIBLE);
return false;
}
});
}

4. 扩展学习与作业
1.ArrayAdapter在Spinner中使用小结
http://www.eyeandroid.com/thread-10155-1-1.html
2.Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法与有用代码片段
http://www.eyeandroid.com/thread-8080-1-1.html
3.Android Animation学习笔记
http://www.eyeandroid.com/thread-8368-1-1.html
作业:让Spinner被选中的TextView为红色背景,下拉列表的TextView为白色背景

5.视频讲解
http://www.eyeandroid.com/thread-10816-1-1.html
  • 大小: 34.7 KB
  • 大小: 38 KB
1
1
分享到:
评论

相关推荐

    android 自定义下拉菜单模式——Spinner与setDropDownViewResource

    在Android开发中,Spinner是一种常用的UI组件,它用于实现下拉选择菜单的功能,类似于iOS中的PickerView。在很多场合,开发者需要对Spinner进行自定义,以满足特定的设计需求。本篇将详细介绍如何利用Spinner和`...

    安卓自定义下拉框---Spinner的实现

    在Android开发中,Spinner是一个非常常用的组件,它用于创建下拉选择框,用户可以通过点击来展开选项列表并进行选择。本篇文章将详细讲解如何在Android应用中自定义一个Spinner,以便满足特定的设计需求。 首先,...

    Android Spinner与setDropDownViewResource

    在Android开发中,Spinner是一个非常常见的控件,它用于实现下拉列表的选择功能,类似于iOS中的PickerView。Spinner提供了一种简洁的方式让用户在有限的选项中进行选择,并且可以直接显示选中的值。本篇文章将深入...

    07-Spinner.

    - `Spinner` 是Android SDK提供的一种UI组件,它允许用户从一组预定义的选项中进行选择,通常用于实现类似下拉菜单的功能。 - 在`onCreate()` 方法中,首先通过 `findViewById()` 获取到布局文件中的Spinner实例,...

    Android-Hint-Spinner.zip

    Android-Hint-Spinner.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    android自定义下拉菜单

    在Android开发中,自定义下拉菜单是一种常见的交互设计,它可以提供用户友好的选择操作,增强应用的用户体验。本文将详细讲解如何在Android中实现一个简单而功能齐全的自定义下拉菜单,以及可能涉及的相关知识点。 ...

    Android自定义Spinner样式

    在Android开发中,Spinner是一个非常常用的控件,它允许用户从一组预定义的选项中进行选择。默认情况下,Spinner的样式可能无法满足所有设计需求,因此开发者常常需要对其进行自定义,以实现更个性化的视觉效果。...

    Android省市区三级连动--spinner.zip

    Spinner是Android SDK提供的一种下拉选择器,可以用来展示一个列表供用户选择。 首先,我们来看一下 Spinner 控件。Spinner 是 Android 中的一种 UI 元素,类似于下拉菜单,用户可以通过点击来展开一个列表进行选择...

    android studio,demo,Spinner下拉菜单多选的实现

    在Android开发中,Spinner是一个非常常见的控件,它通常用于展示一个下拉列表供用户选择。本教程将详细讲解如何在Android Studio 3.0.1环境下实现Spinner的多选功能,这对于创建交互式用户界面非常有用。 首先,...

    Android-react-native-loading-spinner-overlay.zip

    Android-react-native-loading-spinner-overlay.zip,反应本机加载微调器覆盖,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。

    Android应用开发-Spinner控件.pptx

    4. `setDropDownViewResource()`方法设置下拉菜单的视图资源,`simple_spinner_dropdown_item`是系统默认的下拉菜单样式。 5. 最后,通过`setAdapter()`方法将适配器绑定到Spinner上,使得数据与界面元素关联。 当...

    前端开源库-chalk-cli-spinner

    `chalk-cli-spinner` 是一个实用的前端开源库,它将 `chalk` 的颜色功能与 `cli-spinner` 的旋转器功能结合在一起,为 CLI 工具提供了美观且具有视觉吸引力的进度指示器。通过简单的 API 调用,开发者可以轻松地增强...

    android自定义Spinner下拉菜单(下拉列表框)样式

    android自定义Spinner下拉菜单(下拉列表框)样式

    android studio 的下拉菜单Spinner使用详解

    Android Studio 中的下拉菜单 Spinner 是一个列表选择框,类似于弹出菜单供用户选择。Spinner 继承了 AdapterView,因此它也表现出 AdapterView 的特征:只要为 AdapterView 提供 Adapter 即可。 Spinner 的相关...

    Spinner下拉菜单

    Spinner是Android系统中的一种常见控件,用于展示一个下拉选择菜单。在用户交互时,它通常以一个简短的文本表示,当点击后会展开一个列表供用户选择。这个"Spinner下拉菜单"的主题主要涉及到如何自定义Spinner的XML...

    Android城市级联下拉框(自定义Spinner)

    Spinner是Android中的一个下拉选择控件,它提供了用户友好的交互方式,允许用户在一组预设选项中进行选择。 **1. Spinner的基本使用** Spinner的使用主要包括两步:创建Spinner对象和设置数据源。创建Spinner通常在...

    自定义spinner

    在Android开发中,Spinner是一个非常常见的控件,它通常用于实现下拉选择的效果,类似于iOS中的PickerView。自定义Spinner可以让我们根据应用需求定制样式、交互等细节,从而提升用户体验。下面将详细介绍如何在...

    Xamarin.Android Spinner

    `Xamarin.Android Spinner` 是一个常用的UI组件,它在Android应用开发中用于提供下拉选择菜单。Spinner允许用户从一组预定义的选项中选择一个,并且在选择时可以显示默认值或者一个下拉箭头,用户点击后会展开选项...

Global site tag (gtag.js) - Google Analytics