`
jd406
  • 浏览: 48518 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Android控件及API说明(三)

 
阅读更多
1、Spinner
老规矩,先设置布局文件:
<Spinner 
    android:id="@+id/spinner"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:prompt="@string/planet_prompt"
/>


在res/values/下面创建一个文件string.xml文件,文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="planet_prompt">Choose a planet</string>
    <string-array name="planets_array">
        <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>

<string>标签里面的name属性,是作为Spinner的标题的。
<string-array>这个就不用解释了。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Spinner spinner = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
}


下面需要创建一个内部类,这个内部类实现了接口AdapterView.OnItemSelectedListener
当某个选项被选择了之后,会给你的应用程序一个回调函数(callback).
请注意:下面这段代码是一个内部类,不是一个单独的类!!
public class MyOnItemSelectedListener implements OnItemSelectedListener {

	@Override
	public void onItemSelected(AdapterView<?> parent,
    		View view, int pos, long id) {
      Toast.makeText(parent.getContext(), "The planet is " +
          parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
    }
	
	@Override
    public void onNothingSelected(AdapterView parent) {
      // Do nothing.
    }	
}


2、ListView的使用:
注意:要使用ListView ,相应的Activity 要从ListActivity继承。
通常的Activity需要显示的话,我们是调用下面的代码:
 setContentView(int);

但是使用ListView时不是这样的,按照下面这种方式:
setListAdapter(ListAdapter);

@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, COUNTRIES));

  ListView lv = getListView();
  lv.setTextFilterEnabled(true);

  lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {
        Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
          Toast.LENGTH_SHORT).show();
    }
  });
}

我们可以把setListAdapter方法中的android.R.layout.simple_list_item_1换成自定义的:
在 res/layout/ 目录下见一个文件: list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dp"
    android:textSize="16sp" >
</TextView>

然后将android.R.layout.simple_list_item_1换成R.layout.list_item即可。
最后,定义COUNTRIES。
static final String[] COUNTRIES = new String[] {"China","France","England"};


上面的做法是将ListView里面需要显示的值放在数组中,这种硬编码的方式显然不是很好,下面采用另一种方式:
在res/values/下面新建一个文件:strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="countries_array">
        <item>Bahrain</item>
        <item>Bangladesh</item>
        <item>Barbados</item>
        <item>Belarus</item>
        <item>Belgium</item>
        <item>Belize</item>
        <item>Benin</item>
    </string-array>
</resources>

将相应地方的代码换成如下的代码:
String[] countries = getResources().getStringArray(R.array.countries_array);
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, countries));
分享到:
评论

相关推荐

    Android控件API

    Android控件使用帮助文档

    Android自定义组合控件

    本文将深入探讨如何根据【标题】"Android自定义组合控件"和【描述】中的内容,结合【标签】"android 自定义控件 组合控件 自定义属性",来创建一个自己的自定义组合控件。 首先,我们要明白什么是自定义控件。在...

    Android 分层级筛选控件

    在Android开发中,为了提供用户友好的交互体验,开发者经常需要实现各种自定义控件以满足特定需求。"Android分层级筛选控件"是一个这样的自定义控件,它旨在模仿大众点评应用中的筛选功能,允许用户按照不同层级的...

    可伸缩的android控件

    本文将深入探讨如何基于API 17创建一个可伸缩的Android控件,并讨论如何添加自定义方法以满足特定需求。 首先,我们要明白Android控件的伸缩主要涉及到两方面:尺寸的变化和动画的执行。在Android中,我们可以使用...

    Android-拥有三种状态纯Material风格的AndroidCheckbox控件

    本文将深入探讨如何实现一个具有三种状态的纯Material风格的Android Checkbox控件,以及与之相关的Android开发知识。 Checkbox在Android中通常用于提供多选选项,它的默认状态只有两种:选中和未选中。然而,有时...

    Android 控件阴影设置

    本文将深入探讨如何使用第三方库以及自定义扩展来实现Android控件的阴影和圆角阴影功能。 首先,Android原生API虽然提供了诸如`View.setElevation()`方法来创建简单的阴影效果,但这在API 21(Lollipop)及以上版本...

    Android-展示github贡献情况的Android控件

    "Android-展示github贡献情况的Android控件"就是一个专为显示GitHub用户贡献情况而设计的自定义组件。这个控件可以帮助开发者在自己的应用中直观地展示GitHub用户的代码贡献度,让用户能够一目了然地看到自己或他人...

    android完美下拉框控件

    4. 兼容性:确保Spinner在不同版本的Android系统上表现一致,可能需要处理API级别的差异。 至于提供的压缩包文件ASRDTFYGUHMNBVGCFD,由于其名称没有提供明确的关联信息,无法直接分析其与“完美下拉框控件”的关系...

    android控件在界面上自由拖动位置显示

    确保自定义拖动控件在不同设备和Android版本上表现一致,进行广泛的设备和API级别测试。 通过以上步骤,我们可以创建一个功能完备的自定义拖动控件,让用户能在Android界面上自由地调整控件的位置。在提供的`...

    Android强大的日期时间选择控件

    本文将深入探讨Android的日期时间选择控件,并特别关注名为“DateSlider”的第三方库,以提供更加丰富的用户体验。 首先,我们来看看Android原生的DatePicker。DatePicker是Android系统自带的一种用于选择日期的...

    常用android控件打包

    以下是对标题和描述中提及的Android控件及技术的详细解释: 1. **Dialog对话框**:Dialog是Android系统提供的一种显示临时信息的窗口,通常用于向用户展示警告、确认或者请求输入等场景。它不占据整个屏幕,而是...

    Android-AudioVisualizer一个轻量级易于使用的音频可视化Android控件

    该控件的核心是利用了Android的Canvas API来绘制音频数据。Canvas是Android图形系统的一部分,它提供了在Bitmap上绘图的能力,包括线条、形状、文本等。通过捕获音频流的采样数据,AudioVisualizer可以在Canvas上...

    Android——给控件添加动画

    在Android开发中,给控件添加动画是一种提升用户体验的有效手段,可以使用户界面更加生动和吸引人。本篇文章将深入探讨如何在Android应用中为控件添加动画,包括基本的动画类型、实现方式以及最佳实践。 一、动画...

    android控件SlidingDrawer的学习应用

    这个控件在早期版本的Android API中广泛使用,但在API Level 17之后逐渐被更灵活的滑动面板(SlidingPaneLayout)和底部导航(BottomSheetBehavior)等组件取代。尽管如此,理解SlidingDrawer的原理和用法仍然是...

    Android中文API.rar

    Android API教程包括了对各个API组件的详细说明,涵盖其使用方法、属性配置以及常见问题。这些教程通常由官方文档和社区翻译组成,如Android官方API文档完整版.chm,提供了官方原版的API参考,而Android中文翻译组的...

    android常用控件与系统函数

    本资源包提供了一份详尽的Android API控件和系统函数的集合,旨在帮助开发者快速理解和应用这些元素。 首先,"Android常用控件介绍.pdf"与"Android常用控件大全"系列文档,详细讲解了Android平台上常见的UI组件,如...

    android4.0 actionbar API

    ActionBar 是 Android 4.0 (API 级别 14) 引入的一个新特性,它替代了传统的标题栏 (title bar),并提供了一个更丰富、更灵活的界面控件,用于整合应用的基本导航和辅助功能。ActionBar 出现在 Activity 的顶部,...

    Xamarin android调用web api入门示例

    本示例将介绍如何在 Xamarin Android 项目中调用 Web API,这是一个常见的需求,用于获取或发送数据到服务器。以下是对这个入门示例的详细讲解。 首先,我们需要理解 Xamarin Android 调用 Web API 的基本概念。Web...

    android简单控件例子

    标题"android简单控件例子"和描述"就是最基本、最简单的android例子的写法。一些规范,还有最基础的如何建工程等。"表明,本节将介绍Android中最简单的UI组件以及工程的建立流程。以下将详细说明这些知识点: 1. ...

    Android-Android阴影控件库

    而第三方的"Android阴影控件库"则提供了更多的定制化选项,比如调整阴影颜色、大小、角度等,使得开发者可以创建出更符合设计需求的阴影效果。 此库的实现通常基于自定义视图(Custom View)或者装饰器模式,通过...

Global site tag (gtag.js) - Google Analytics