第一:
Spinner是一个列表选择框,但其并不需要显示下拉列表,二十相当于一个菜单供用户选择,下面用一个例子介绍:
在样式文件中:
<?xmlversion="1.0"encoding="utf-8"?>
-
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="请选择一项运动项目"
- />
- <Spinner
- android:id="@+id/sportsSp"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:prompt="@string/spinner_prompt"
- android:entries="@array/sports"
- />
-
</LinearLayout>
在<Spinner>标签中,通过android:prompt来设置弹出选择框的标题,通过android:entries来设置默认的列表选项(定义在一个arrays.xml文件中)
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<resources>
-
<string-arrayname="sports">
-
<item>足球</item>
-
<item>篮球</item>
-
<item>乒乓球</item>
-
<item>网球</item>
-
</string-array>
-
</resources>
监听列表点击事件:
-
packagecn.class3g.activity;
-
-
importandroid.app.Activity;
-
importandroid.os.Bundle;
-
importandroid.util.Log;
-
importandroid.view.View;
-
importandroid.widget.AdapterView;
-
importandroid.widget.AdapterView.OnItemSelectedListener;
-
importandroid.widget.Spinner;
-
importandroid.widget.TextView;
-
-
publicclassSpinnerDemoextendsActivityimplementsOnItemSelectedListener{
-
SpinnersportSp=null;
-
-
protectedvoidonCreate(BundlesavedInstanceState){
-
super.onCreate(savedInstanceState);
-
setContentView(R.layout.spinner_layout);
-
findViews();
-
}
-
-
privatevoidfindViews(){
-
sportSp=(Spinner)this.findViewById(R.id.sportsSp);
-
sportSp.setOnItemSelectedListener(this);
-
sportSp.performClick();
-
}
-
//每选择一次均以日志输出形式打印
-
publicvoidonItemSelected(AdapterView<?>arg0,Viewarg1,intarg2,
-
longarg3){
-
TextViewtv=(TextView)arg1;
-
Log.i("TAG",tv.getText().toString());
-
}
-
-
publicvoidonNothingSelected(AdapterView<?>arg0){
-
}
- }
在模拟器中的效果与日志输出结果:
![](http://hi.csdn.net/attachment/201112/14/0_132386249455F8.gif)
![](http://hi.csdn.net/attachment/201112/14/0_1323862513mkEi.gif)
第二:
ListView列表视图,为列表添加列表项有两种方法,下面用一个列子分别介绍:
在样式文件中:
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
-
android:layout_width="match_parent"
-
android:layout_height="match_parent"
-
android:orientation="vertical">
-
-
<TextView
-
android:layout_width="fill_parent"
-
android:layout_height="wrap_content"
-
android:text="名单:"
-
/>
-
-
<ListView
-
android:layout_width="fill_parent"
-
android:layout_height="wrap_content"
-
android:entries="@array/sports"
-
android:divider="#00FF00"
-
/>
-
-
<ListView
-
android:layout_width="fill_parent"
-
android:layout_height="wrap_content"
-
android:id="@+id/nameList"
-
android:divider="#00FF00"
-
/>
-
-
</LinearLayout>
在上面的布局中定义了两个ListView,第一个ListView通过android:entries指定了列表的项数组:
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<resources>
-
<string-arrayname="sports">
-
<item>足球</item>
-
<item>篮球</item>
-
<item>乒乓球</item>
-
<item>网球</item>
-
</string-array>
-
</resources>
第二个ListView通过ArrayAdapter适配器使用数组来确定列表项,并监听点击事件,每点击用日志输出打印:
-
packagecn.class3g.activity;
-
-
importandroid.app.Activity;
-
importandroid.os.Bundle;
-
importandroid.util.Log;
-
importandroid.view.View;
-
importandroid.widget.AdapterView;
-
importandroid.widget.AdapterView.OnItemClickListener;
-
importandroid.widget.ArrayAdapter;
-
importandroid.widget.ListView;
-
-
publicclassListViewDemoextendsActivity
-
implementsOnItemClickListener{
-
-
ListViewnameList=null;
-
String[]names={"张三","李四","王五","宋六","猪八"};
-
-
protectedvoidonCreate(BundlesavedInstanceState){
-
super.onCreate(savedInstanceState);
-
this.setContentView(R.layout.list_layout);
-
findViews();
-
}
-
-
privatevoidfindViews(){
-
nameList=(ListView)this.findViewById(R.id.nameList);
-
//定义一个适配器,同时将定义列表项的数组添加进去
-
ArrayAdapteradapter=newArrayAdapter(this,
-
android.R.layout.simple_list_item_1,names);
-
nameList.setAdapter(adapter);
-
//为列表添加监听事件
-
nameList.setOnItemClickListener(this);
-
}
-
-
//覆盖监听器接口OnItemClickListener的抽象方法通过日志打印所点击的列表项信息
-
publicvoidonItemClick(AdapterView<?>arg0,Viewarg1,intarg2,longarg3){
-
Log.i("TAG",names[arg2]
-
+"position="+String.valueOf(arg2)
- +"row_id="+String.valueOf(arg3));
第三:
Spinner是一个列表选择框,但其并不需要显示下拉列表,二十相当于一个菜单供用户选择,下面用一个例子介绍:
在样式文件中:
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
-
android:layout_width="match_parent"
-
android:layout_height="match_parent"
-
android:orientation="vertical">
-
-
<TextView
-
android:layout_width="fill_parent"
-
android:layout_height="wrap_content"
-
android:text="请选择一项运动项目"
-
/>
-
<Spinner
-
android:id="@+id/sportsSp"
-
android:layout_width="match_parent"
-
android:layout_height="wrap_content"
-
android:prompt="@string/spinner_prompt"
-
android:entries="@array/sports"
-
/>
-
-
</LinearLayout>
在<Spinner>标签中,通过android:prompt来设置弹出选择框的标题,通过android:entries来设置默认的列表选项(定义在一个arrays.xml文件中)
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<resources>
-
<string-arrayname="sports">
-
<item>足球</item>
-
<item>篮球</item>
-
<item>乒乓球</item>
-
<item>网球</item>
-
</string-array>
-
</resources>
监听列表点击事件:
-
packagecn.class3g.activity;
-
-
importandroid.app.Activity;
-
importandroid.os.Bundle;
-
importandroid.util.Log;
-
importandroid.view.View;
-
importandroid.widget.AdapterView;
-
importandroid.widget.AdapterView.OnItemSelectedListener;
-
importandroid.widget.Spinner;
-
importandroid.widget.TextView;
-
-
publicclassSpinnerDemoextendsActivityimplementsOnItemSelectedListener{
-
SpinnersportSp=null;
-
-
protectedvoidonCreate(BundlesavedInstanceState){
-
super.onCreate(savedInstanceState);
-
setContentView(R.layout.spinner_layout);
-
findViews();
-
}
-
-
privatevoidfindViews(){
-
sportSp=(Spinner)this.findViewById(R.id.sportsSp);
-
sportSp.setOnItemSelectedListener(this);
-
sportSp.performClick();
-
}
-
//每选择一次均以日志输出形式打印
-
publicvoidonItemSelected(AdapterView<?>arg0,Viewarg1,intarg2,
-
longarg3){
-
TextViewtv=(TextView)arg1;
-
Log.i("TAG",tv.getText().toString());
-
}
-
-
publicvoidonNothingSelected(AdapterView<?>arg0){
-
}
- }
在模拟器中的效果与日志输出结果:
![](http://hi.csdn.net/attachment/201112/14/0_132386249455F8.gif)
![](http://hi.csdn.net/attachment/201112/14/0_1323862513mkEi.gif)
分享到:
相关推荐
Android应用开发的哲学是把一切...这一节讲Android组件化设计的背景、理念、原则,以及Android在OS级别上提供的组件化支持,其中还会包含一个实验来验证这种组件化设计思想,可以对Android系统有一个高层次的抽象理解。
2. **购物车组件**:实现添加、删除商品,以及结算功能。 3. **用户组件**:处理用户登录、注册、个人信息管理等功能。 4. **订单组件**:处理订单创建、支付、物流跟踪等业务逻辑。 5. **统计组件**:利用友盟等...
Android系统的核心架构主要由四大组件构成:Activity、Service、BroadcastReceiver和ContentProvider。这四大组件是构建Android应用程序的基础,理解并熟练运用它们是每个Android开发者必须掌握的关键技能。 首先,...
android安卓组件库android安卓组件库android安卓组件库
2. **Android组件**: Android Axure组件库中包含了大量的Android原生控件,如按钮、文本输入框、滑动条、选择器、下拉菜单、底部导航栏等。这些组件都遵循了Android Material Design指南,确保了设计的规范性和一致...
"Android 4.0 组件库 for Axure"正是为了满足这一需求而创建的资源,它包含了大量与Android 4.0 UI风格相符的预设组件,使得设计工作更加高效和精确。 首先,让我们深入了解一下Android 4.0的设计原则和UI元素。...
在Android系统中,四大组件是构建应用程序的核心元素,它们分别是Activity、Service、BroadcastReceiver和Content Provider。这四个组件各自承担着不同的职责,共同构成了Android应用的骨架。 **Activity**是用户与...
在Android应用开发中,UI(用户界面)组件是构建应用程序不可或缺的部分。这些组件构成了用户与应用交互的视觉元素。以下是对“android ui组件大全”这个主题的详细解析: 标题:“android ui组件大全” 这个标题...
在Android开发中,各个组件是构建应用程序的基础模块,它们构成了Android应用的核心结构。这份"android各组件详解 PDF"文档详细阐述了这些组件的功能、用法以及如何协同工作,为开发者提供了深入理解Android应用架构...
2. **重写构造函数**:为了初始化自定义组件,我们需要重写父类的构造函数,通常包括默认构造函数、带有LayoutParams的构造函数以及带有Context、AttributeSet参数的构造函数。这些构造函数用于在布局文件中引用...
这个工具箱专注于在Android平台上集成和管理原生组件,为ReactNative开发者提供了一个方便的解决方案,以便更好地利用Android系统的特性和功能。 标题“基于ReactNative的android原生组件模块的工具箱”暗示了该...
这个"Android UI控件组件库集合【源码】"提供了多种常用的UI控件及其源代码,旨在帮助开发者构建更加美观、功能丰富的应用界面。下面我们将详细探讨这些控件以及它们在实际开发中的应用。 1. **流式布局...
总的来说,"Android组件化学习Demo"项目是一个很好的起点,通过实践这个项目,开发者可以深入了解Android组件化的理念,学习如何创建和管理模块,以及如何在实际项目中运用组件化来提升开发效率和代码质量。
在Android开发中,侧滑组件通常用于实现应用的导航或者扩展功能,比如网易新闻的侧滑菜单展示了不同的新闻分类,豌豆荚的侧滑界面提供了用户的个人中心等。本篇文章将详细探讨如何自定义一个类似的功能,即Android的...
axure 的Android-L组件库,比较全
《Android自定义组件开发详解》一书的作者李赞红在序言中表达了对Android开发教学的热情和对学员成长的关切。他提到,尽管市场上有许多Android开发相关的书籍,但大多数要么偏重理论、要么实践指导不足,或者只是...
根据提供的文件信息,我们可以推断出这是一套关于Android组件化的教学视频资料。接下来,我们将对这个主题进行详细的解析,并提炼出与标题和描述相关的关键知识点。 ### Android组件化概念 1. **定义**:Android...
这个"android组件化demo"提供了一个实现组件化的实例,它不仅包括了基础的组件,还集成了网络请求框架,使得开发者可以直接下载并应用于自己的项目中。下面,我们将深入探讨Android组件化以及相关知识点。 **组件化...
"android组件化Demo"是针对这一技术的一个实例项目,旨在帮助开发者理解和实践Android组件化。在这个项目中,开发者使用了Arouter作为不同组件之间的通讯工具。 首先,我们要理解什么是组件化。在Android应用开发中...