`

自定义下拉菜单模式----Spinner与setDropDownViewResource的应用

阅读更多

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);  
 
}
 
}
分享到:
评论

相关推荐

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

    本篇将详细介绍如何利用Spinner和`setDropDownViewResource`方法来定制Android的下拉菜单样式。 首先,Spinner的基本用法是通过在布局文件中声明Spinner控件,并在代码中填充数据源,如ArrayAdapter或CursorAdapter...

    各种自定义下拉选择框

    通过自定义,开发者可以创造出既美观又实用的下拉菜单,提升应用的用户体验。对于"各种自定义下拉选择框"这一主题,深入学习和实践这些知识点,将有助于你更好地驾驭Android界面设计和交互实现。

    Android自定义Spinner样式

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

    自定义spinner下拉列表

    此外,我们还可以自定义下拉列表的弹出动画。通过设置Spinner的`PopupWindow`属性,可以实现自定义动画效果。例如,我们可以创建一个动画资源文件(如`spinner_popup.xml`): ```xml &lt;!-- spinner_popup.xml --&gt; ...

    自定义spinner

    三、自定义下拉菜单样式 1. 创建自定义布局文件:在res/layout目录下创建两个XML布局文件,分别表示Spinner的默认状态和下拉状态。 ```xml &lt;!-- custom_spinner_item.xml --&gt; xmlns:android=...

    Android下拉菜单

    三、自定义下拉菜单 1. 自定义Adapter:可以通过继承BaseAdapter并重写相关方法来自定义Spinner的显示样式和行为。 2. 自定义下拉列表样式:可以通过设置`setDropDownViewResource()`方法来改变下拉列表的布局。 四...

    Spinner下拉列表的应用

    在用户界面设计中,Spinner常被用来实现简洁的交互,用户可以点击控件触发下拉菜单,从中选择一个选项。本教程将深入讲解如何在Android应用中使用Spinner,并通过两种方式设置其数据源:XML文件和Java代码。 ### ...

    android 简单粗暴的下拉菜单

    6. **自定义下拉菜单**: 如果“简单粗暴”意味着更个性化的交互体验,那么可以考虑使用PopupWindow或Dialog来替代默认的Spinner下拉效果。这需要更多的代码来实现,但可以提供更大的定制空间。 在`MyDropDown02`...

    Spinner下拉菜单

    这个"Spinner下拉菜单"的主题主要涉及到如何自定义Spinner的XML样式,以满足特定的界面设计需求。 首先,我们来了解一下Spinner的基本结构。Spinner由两部分组成:一个是显示默认值的TextView,另一个是隐藏的下拉...

    android 下拉菜单Spinner 几种使用

    在Android开发中,Spinner是一个...通过设置Adapter、监听事件以及自定义样式,我们可以根据项目需求定制出满足用户体验的下拉菜单。在实际开发中,结合`spinnerDemo`这样的示例,开发者可以更好地理解和运用Spinner。

    Spinner下拉列表的应用实例

    Spinner是Android系统中的一种常见控件,常用于在有限的选项中进行选择,类似于iOS的PickerView或网页中的下拉菜单。它具有节省屏幕空间、交互简洁的特点,广泛应用于设置界面、选择日期、时间等场景。本教程将深入...

    Android自定义spinner下拉框实现的实现

    在Android开发中,Spinner是一个非常常用的控件,它允许用户从一组预定义的选项中进行选择,类似于下拉菜单。本篇文章将详细讲解如何自定义一个Android Spinner的下拉框实现,以提供更加个性化的用户体验。 首先,...

    弹出框Spinner

    在Android开发中,Spinner提供了一种简洁、高效的方式来呈现用户可以选择的多个条目,用户点击后会弹出一个下拉菜单,从中选取一项。本教程将详细介绍Spinner的使用、自定义样式以及如何通过代码实现个性化设计。 1...

    实现android Spinner选择后被选中的item有个背景的功能

    它类似于iOS中的Segmented Control或网页上的下拉菜单。本教程将详细讲解如何在Android中使用Kotlin实现一个Spinner,并且在用户选择某一项后,让被选中的item具有特殊的背景效果。 首先,我们需要在布局XML文件中...

    Android仿大众点评、美团下拉菜单

    总结,实现类似大众点评、美团的下拉菜单效果,主要涉及`Spinner`组件、`ArrayAdapter`的使用以及自定义样式和动画。通过这些技术,我们可以创建出具有丰富交互特性的下拉菜单,提升用户在应用中的操作体验。在实际...

    spinner下拉列表 demo

    本教程将详细讲解如何在Android应用中实现Spinner下拉列表的Demo。 首先,我们需要理解Spinner的基本结构。Spinner本质上是一个视图,它包含一个默认显示的选项和一个可下拉的列表。当用户点击Spinner时,会弹出一...

    android下拉菜单

    6. **自定义样式**:如果需要自定义下拉菜单的样式,你可以创建自己的XML布局文件,然后在`setDropDownViewResource()`中传入相应的布局ID。这样,你就可以完全控制下拉菜单的外观和感觉,包括字体、颜色、背景等。 ...

    Xamarin.Android Spinner

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

Global site tag (gtag.js) - Google Analytics