`
liu86th
  • 浏览: 117978 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[转]Spinner与setDropDownViewResource的应用

 
阅读更多

 

大家好,我们这一节讲一下Android下的下拉菜单Spinner,就像是Swing的Combobox,html的<select>,由于手机画面有限,要在有限的范围选择项目,下拉菜单是比较好的选择.

 

Android提供的Spinner Widget的下拉菜单已经非常好用了,样式也还适用.但我们本节的Demo的重点在于自定义下拉菜单里的样式,其关键在于调用setDropDownViewResource方法,以XML的方式定义下拉菜单要显示的模样.

 

Step 1: 创建一个新的Android 工程, 我们命名为SpinnerDemo .

Step 2 :打开layout 文件夹,找到main.xml 将其内容改为:

 

 

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

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

android:orientation="vertical"

android:padding="10dip" 

android:layout_width="fill_parent"

android:layout_height="wrap_content">

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginTop="10dip"

android:text="Please select a planet:" 


/>

<Spinner 

android:id="@+id/spinner"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:drawSelectorOnTop="true"

android:prompt="@string/planet_prompt" 


/> 

</LinearLayout>
 
注意: 
the Spinner's android:prompt 
is a string resource. In this case, Android does not allow it to be a string, it must
be a reference to a resource. So...
Step 3 :找到在res/values/string.xml, 在里面加入如下(黑体)一行:
<?xml version="1.0" encoding="utf-8"?>

<resources>

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

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

<string name="planet_prompt">Choose a planet</string> 


</resources>
 
Step 4 :在res/values/ 文件夹下创建一个xml 文件,命名为arrays.xml: 
<resources> 


<string-array name="planets"> 


<item>Mercury</item>

<item>Venus</item>

<item>Earth</item>

<item>Mars</item>

<item>Jupiter</item>

<item>Saturn</item>

<item>Uranus</item>

<item>Neptune</item>

</string-array> 


</resources> 
 
这是用户可以从Spinner Widget选择list 的选择项.



Step5 
:打开SpinnerDemo.java 
,编辑内容如下:
package com.android.test;

import android.app.Activity;

import android.os.Bundle;

import android.widget.ArrayAdapter;

import android.widget.Spinner; 


public class SpinnerDemo 
extends Activity{

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);	

Spinner s = (Spinner) findViewById(R.id.spinner);

ArrayAdapter adapter = ArrayAdapter.createFromResource(

this, R.array.planets, android.R.layout.simple_spinner_item)



adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

s.setAdapter(adapter); 


}

}
 
step 6: 
最后run it 
(运行之)效果如下:

  

分享到:
评论

相关推荐

    Android Spinner与setDropDownViewResource

    本篇文章将深入探讨`Spinner`的使用以及`setDropDownViewResource()`这个方法的作用。 首先,我们来理解一下`Spinner`的基本用法。创建一个`Spinner`通常需要以下步骤: 1. 在布局文件中添加`Spinner`元素: ```...

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

    总结一下,Android的Spinner组件提供了丰富的自定义可能性,通过`setDropDownViewResource`方法可以改变下拉列表的默认样式,让应用界面更加个性化。同时,结合自定义Adapter,我们可以实现更复杂的功能和视觉效果,...

    Spinner下拉列表的应用

    - **Spinner与SQLite数据库**:如果数据存储在SQLite数据库中,可以通过查询数据库填充Spinner。 通过上述步骤,你可以在Android应用中实现Spinner下拉列表的功能。无论是从XML配置还是Java代码动态设置,都可以...

    Spinner下拉列表的应用实例

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // 设置下拉菜单样式 ``` 3. **绑定Adapter**:将数据源绑定到Spinner上。 ```java Spinner spinner = findViewById(R.id....

    android控件spinner应用示例

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // 设置下拉列表的样式 spinner.setAdapter(adapter); // 设置适配器 spinner.setOnItemSelectedListener(new AdapterView....

    安卓Spinner简单应用

    数据源需要通过Adapter与Spinner连接。常见的Adapter有ArrayAdapter,用于处理数组或列表数据。例如: ```java ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, ...

    android spinner综合应用源代码

    4. **Spinner的样式**:Android提供了多种内置样式,如`simple_spinner_item`、`simple_spinner_dropdown_item`等,可以通过`setDropDownViewResource()`来设置下拉菜单的样式。 5. **监听事件**:为了响应用户的...

    Xamarin.Android Spinner

    - **Adapter**:Adapter是连接数据源与UI的桥梁,它负责将数据转换为Spinner展示的视图。在Xamarin.Android中,常见的Adapter有ArrayAdapter、CursorAdapter等。 - **Dropdown View**:当用户点击Spinner时,显示的...

    Android可编辑Spinner

    在用户输入完成后,可以通过监听EditText的文本变化事件,更新Adapter的数据,并调用Spinner的setSelection方法,使当前选中的项与用户输入的值对应。 以下是一个简单的实现思路: 1. 创建一个自定义的SpinnerItem...

    android 动态添加删除的Spinner菜单 ArrayList与Widget的依赖性

    4. 设置Dropdown样式:调用setDropDownViewResource()方法,定义下拉列表的样式,如setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)。 5. 将Adapter绑定到Spinner:调用Spinner的...

    Android Spinner 小程序

    总结,通过这个“Android Spinner 小程序”,我们可以学习到如何在Android应用中有效地使用Spinner组件来实现下拉列表功能,以及如何与AlertDialog配合,提升用户体验。这个小程序对于初学者理解Android UI设计和...

    Android UI_常用组件之 Spinner与适配器模式

    本篇文章将详细介绍Android UI中的一个常用组件——`Spinner`及其与适配器模式的应用。 #### Spinner 组件简介 `Spinner`是Android系统提供的一个下拉列表组件,它主要用于展示一系列选项供用户选择,非常适合于...

    android studio开发app项目Spinner应用设计

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); Spinner spinner = findViewById(R.id.spinner); spinner.setAdapter(adapter); ``` 5. **监听Spinner的选择事件** 为了...

    弹出框Spinner

    Spinner是Android系统中的一种...总之,Spinner在Android应用中是常用的交互组件,通过合理的配置和自定义,可以满足各种界面需求。了解和掌握Spinner的使用和自定义技巧,能帮助开发者创建更美观、易用的Android应用。

    Android Spinner设置默认标题

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // 设置下拉列表的样式 ``` 4. **设置Adapter**:将适配器绑定到Spinner。 ```java Spinner spinner = findViewById(R.id....

    Android自定义Spinner样式

    在Android开发中,Spinner是一个非常常用的控件,...通过这些方法,你可以打造出与应用主题相符、用户体验良好的Spinner组件。记住,良好的UI设计能够提升用户对应用的满意度,因此花时间在自定义控件样式上是值得的。

    Spinner

    在Android应用中,Spinner提供了一个下拉列表,用户可以通过点击按钮来展开列表,然后从中选择一个合适的选项。这个控件的设计理念是节省屏幕空间,同时提供用户友好的交互体验。 源码解析: Spinner的实现主要依赖...

    简单的自定义Spinner

    这里设置了`Spinner`的高度为40dp,并且下拉列表的垂直偏移量为40dp,这样可以确保列表不会与上方的元素重叠。 ##### 3. 在Java代码中设置Adapter 最后,在Java代码中设置`Spinner`的`Adapter`。使用`ArrayAdapter`...

    Android应用开发-Spinner控件.pptx

    总之,Spinner控件是Android应用开发中一种重要的选择组件,通过ArrayAdapter的使用,可以轻松地将数据集与界面控件关联,提供了一种高效且灵活的方式来处理有限的选项选择场景。理解和熟练运用Spinner控件,能帮助...

    android中的spinner动态加载内容

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); Spinner spinner = findViewById(R.id.spinner); spinner.setAdapter(adapter); ``` 然而,动态加载内容意味着我们需要在运行...

Global site tag (gtag.js) - Google Analytics