`
yangshen998
  • 浏览: 1288952 次
文章分类
社区版块
存档分类
最新评论

android之组件2

 
阅读更多

第一:

Spinner是一个列表选择框,但其并不需要显示下拉列表,二十相当于一个菜单供用户选择,下面用一个例子介绍:

在样式文件中:

<?xmlversion="1.0"encoding="utf-8"?>
  1. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  2. android:layout_width="match_parent"
  3. android:layout_height="match_parent"
  4. android:orientation="vertical">
  5. <TextView
  6. android:layout_width="fill_parent"
  7. android:layout_height="wrap_content"
  8. android:text="请选择一项运动项目"
  9. />
  10. <Spinner
  11. android:id="@+id/sportsSp"
  12. android:layout_width="match_parent"
  13. android:layout_height="wrap_content"
  14. android:prompt="@string/spinner_prompt"
  15. android:entries="@array/sports"
  16. />
  17. </LinearLayout>


在<Spinner>标签中,通过android:prompt来设置弹出选择框的标题,通过android:entries来设置默认的列表选项(定义在一个arrays.xml文件中)

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <resources>
  3. <string-arrayname="sports">
  4. <item>足球</item>
  5. <item>篮球</item>
  6. <item>乒乓球</item>
  7. <item>网球</item>
  8. </string-array>
  9. </resources>

监听列表点击事件:

  1. packagecn.class3g.activity;
  2. importandroid.app.Activity;
  3. importandroid.os.Bundle;
  4. importandroid.util.Log;
  5. importandroid.view.View;
  6. importandroid.widget.AdapterView;
  7. importandroid.widget.AdapterView.OnItemSelectedListener;
  8. importandroid.widget.Spinner;
  9. importandroid.widget.TextView;
  10. publicclassSpinnerDemoextendsActivityimplementsOnItemSelectedListener{
  11. SpinnersportSp=null;
  12. protectedvoidonCreate(BundlesavedInstanceState){
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.spinner_layout);
  15. findViews();
  16. }
  17. privatevoidfindViews(){
  18. sportSp=(Spinner)this.findViewById(R.id.sportsSp);
  19. sportSp.setOnItemSelectedListener(this);
  20. sportSp.performClick();
  21. }
  22. //每选择一次均以日志输出形式打印
  23. publicvoidonItemSelected(AdapterView<?>arg0,Viewarg1,intarg2,
  24. longarg3){
  25. TextViewtv=(TextView)arg1;
  26. Log.i("TAG",tv.getText().toString());
  27. }
  28. publicvoidonNothingSelected(AdapterView<?>arg0){
  29. }
  30. }

在模拟器中的效果与日志输出结果:

第二:

ListView列表视图,为列表添加列表项有两种方法,下面用一个列子分别介绍:

在样式文件中:

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical">
  6. <TextView
  7. android:layout_width="fill_parent"
  8. android:layout_height="wrap_content"
  9. android:text="名单:"
  10. />
  11. <ListView
  12. android:layout_width="fill_parent"
  13. android:layout_height="wrap_content"
  14. android:entries="@array/sports"
  15. android:divider="#00FF00"
  16. />
  17. <ListView
  18. android:layout_width="fill_parent"
  19. android:layout_height="wrap_content"
  20. android:id="@+id/nameList"
  21. android:divider="#00FF00"
  22. />
  23. </LinearLayout>


在上面的布局中定义了两个ListView,第一个ListView通过android:entries指定了列表的项数组:

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <resources>
  3. <string-arrayname="sports">
  4. <item>足球</item>
  5. <item>篮球</item>
  6. <item>乒乓球</item>
  7. <item>网球</item>
  8. </string-array>
  9. </resources>


第二个ListView通过ArrayAdapter适配器使用数组来确定列表项,并监听点击事件,每点击用日志输出打印:

  1. packagecn.class3g.activity;
  2. importandroid.app.Activity;
  3. importandroid.os.Bundle;
  4. importandroid.util.Log;
  5. importandroid.view.View;
  6. importandroid.widget.AdapterView;
  7. importandroid.widget.AdapterView.OnItemClickListener;
  8. importandroid.widget.ArrayAdapter;
  9. importandroid.widget.ListView;
  10. publicclassListViewDemoextendsActivity
  11. implementsOnItemClickListener{
  12. ListViewnameList=null;
  13. String[]names={"张三","李四","王五","宋六","猪八"};
  14. protectedvoidonCreate(BundlesavedInstanceState){
  15. super.onCreate(savedInstanceState);
  16. this.setContentView(R.layout.list_layout);
  17. findViews();
  18. }
  19. privatevoidfindViews(){
  20. nameList=(ListView)this.findViewById(R.id.nameList);
  21. //定义一个适配器,同时将定义列表项的数组添加进去
  22. ArrayAdapteradapter=newArrayAdapter(this,
  23. android.R.layout.simple_list_item_1,names);
  24. nameList.setAdapter(adapter);
  25. //为列表添加监听事件
  26. nameList.setOnItemClickListener(this);
  27. }
  28. //覆盖监听器接口OnItemClickListener的抽象方法通过日志打印所点击的列表项信息
  29. publicvoidonItemClick(AdapterView<?>arg0,Viewarg1,intarg2,longarg3){
  30. Log.i("TAG",names[arg2]
  31. +"position="+String.valueOf(arg2)
  32. +"row_id="+String.valueOf(arg3));

第三:

Spinner是一个列表选择框,但其并不需要显示下拉列表,二十相当于一个菜单供用户选择,下面用一个例子介绍:

在样式文件中:

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical">
  6. <TextView
  7. android:layout_width="fill_parent"
  8. android:layout_height="wrap_content"
  9. android:text="请选择一项运动项目"
  10. />
  11. <Spinner
  12. android:id="@+id/sportsSp"
  13. android:layout_width="match_parent"
  14. android:layout_height="wrap_content"
  15. android:prompt="@string/spinner_prompt"
  16. android:entries="@array/sports"
  17. />
  18. </LinearLayout>


在<Spinner>标签中,通过android:prompt来设置弹出选择框的标题,通过android:entries来设置默认的列表选项(定义在一个arrays.xml文件中)

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <resources>
  3. <string-arrayname="sports">
  4. <item>足球</item>
  5. <item>篮球</item>
  6. <item>乒乓球</item>
  7. <item>网球</item>
  8. </string-array>
  9. </resources>


监听列表点击事件:

  1. packagecn.class3g.activity;
  2. importandroid.app.Activity;
  3. importandroid.os.Bundle;
  4. importandroid.util.Log;
  5. importandroid.view.View;
  6. importandroid.widget.AdapterView;
  7. importandroid.widget.AdapterView.OnItemSelectedListener;
  8. importandroid.widget.Spinner;
  9. importandroid.widget.TextView;
  10. publicclassSpinnerDemoextendsActivityimplementsOnItemSelectedListener{
  11. SpinnersportSp=null;
  12. protectedvoidonCreate(BundlesavedInstanceState){
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.spinner_layout);
  15. findViews();
  16. }
  17. privatevoidfindViews(){
  18. sportSp=(Spinner)this.findViewById(R.id.sportsSp);
  19. sportSp.setOnItemSelectedListener(this);
  20. sportSp.performClick();
  21. }
  22. //每选择一次均以日志输出形式打印
  23. publicvoidonItemSelected(AdapterView<?>arg0,Viewarg1,intarg2,
  24. longarg3){
  25. TextViewtv=(TextView)arg1;
  26. Log.i("TAG",tv.getText().toString());
  27. }
  28. publicvoidonNothingSelected(AdapterView<?>arg0){
  29. }
  30. }


在模拟器中的效果与日志输出结果:



分享到:
评论

相关推荐

    Android组件设计思想

    Android应用开发的哲学是把一切...这一节讲Android组件化设计的背景、理念、原则,以及Android在OS级别上提供的组件化支持,其中还会包含一个实验来验证这种组件化设计思想,可以对Android系统有一个高层次的抽象理解。

    Android项目之组件化

    2. **购物车组件**:实现添加、删除商品,以及结算功能。 3. **用户组件**:处理用户登录、注册、个人信息管理等功能。 4. **订单组件**:处理订单创建、支付、物流跟踪等业务逻辑。 5. **统计组件**:利用友盟等...

    Android四大组件简述

    Android系统的核心架构主要由四大组件构成:Activity、Service、BroadcastReceiver和ContentProvider。这四大组件是构建Android应用程序的基础,理解并熟练运用它们是每个Android开发者必须掌握的关键技能。 首先,...

    android安卓组件库

    android安卓组件库android安卓组件库android安卓组件库

    Android Axure组件库

    2. **Android组件**: Android Axure组件库中包含了大量的Android原生控件,如按钮、文本输入框、滑动条、选择器、下拉菜单、底部导航栏等。这些组件都遵循了Android Material Design指南,确保了设计的规范性和一致...

    Android 4.0 组件库 for Axure

    "Android 4.0 组件库 for Axure"正是为了满足这一需求而创建的资源,它包含了大量与Android 4.0 UI风格相符的预设组件,使得设计工作更加高效和精确。 首先,让我们深入了解一下Android 4.0的设计原则和UI元素。...

    android四大组件详解

    在Android系统中,四大组件是构建应用程序的核心元素,它们分别是Activity、Service、BroadcastReceiver和Content Provider。这四个组件各自承担着不同的职责,共同构成了Android应用的骨架。 **Activity**是用户与...

    android ui组件大全

    在Android应用开发中,UI(用户界面)组件是构建应用程序不可或缺的部分。这些组件构成了用户与应用交互的视觉元素。以下是对“android ui组件大全”这个主题的详细解析: 标题:“android ui组件大全” 这个标题...

    android各组件详解 PDF

    在Android开发中,各个组件是构建应用程序的基础模块,它们构成了Android应用的核心结构。这份"android各组件详解 PDF"文档详细阐述了这些组件的功能、用法以及如何协同工作,为开发者提供了深入理解Android应用架构...

    android自定义组件简单Demo

    2. **重写构造函数**:为了初始化自定义组件,我们需要重写父类的构造函数,通常包括默认构造函数、带有LayoutParams的构造函数以及带有Context、AttributeSet参数的构造函数。这些构造函数用于在布局文件中引用...

    基于ReactNative的android原生组件模块的工具箱

    这个工具箱专注于在Android平台上集成和管理原生组件,为ReactNative开发者提供了一个方便的解决方案,以便更好地利用Android系统的特性和功能。 标题“基于ReactNative的android原生组件模块的工具箱”暗示了该...

    Android UI控件组件库集合【源码】

    这个"Android UI控件组件库集合【源码】"提供了多种常用的UI控件及其源代码,旨在帮助开发者构建更加美观、功能丰富的应用界面。下面我们将详细探讨这些控件以及它们在实际开发中的应用。 1. **流式布局...

    Android组件化学习Demo

    总的来说,"Android组件化学习Demo"项目是一个很好的起点,通过实践这个项目,开发者可以深入了解Android组件化的理念,学习如何创建和管理模块,以及如何在实际项目中运用组件化来提升开发效率和代码质量。

    Android 左右侧滑组件

    在Android开发中,侧滑组件通常用于实现应用的导航或者扩展功能,比如网易新闻的侧滑菜单展示了不同的新闻分类,豌豆荚的侧滑界面提供了用户的个人中心等。本篇文章将详细探讨如何自定义一个类似的功能,即Android的...

    Axure Android-L组件库

    axure 的Android-L组件库,比较全

    Android自定义组件开发详解

    《Android自定义组件开发详解》一书的作者李赞红在序言中表达了对Android开发教学的热情和对学员成长的关切。他提到,尽管市场上有许多Android开发相关的书籍,但大多数要么偏重理论、要么实践指导不足,或者只是...

    Android组件化大牛视频

    根据提供的文件信息,我们可以推断出这是一套关于Android组件化的教学视频资料。接下来,我们将对这个主题进行详细的解析,并提炼出与标题和描述相关的关键知识点。 ### Android组件化概念 1. **定义**:Android...

    android组件化demo

    这个"android组件化demo"提供了一个实现组件化的实例,它不仅包括了基础的组件,还集成了网络请求框架,使得开发者可以直接下载并应用于自己的项目中。下面,我们将深入探讨Android组件化以及相关知识点。 **组件化...

    android组件化Demo

    "android组件化Demo"是针对这一技术的一个实例项目,旨在帮助开发者理解和实践Android组件化。在这个项目中,开发者使用了Arouter作为不同组件之间的通讯工具。 首先,我们要理解什么是组件化。在Android应用开发中...

Global site tag (gtag.js) - Google Analytics