展会信息港展会大全

Android的UI开发Spinner(下拉列表)
来源:互联网   发布日期:2015-10-02 15:56:14   浏览:2818次  

导读:在Android的UI开发中,Spinner(下拉列表)总是可以用到的,一个简单的自定义Spinner制作我们只需要记住这重要的五步,一个Spinner就可以应用而生了。(1)新建一个Android工程,名字为SpinnerTest1。修改layout下的......

在Android的UI开发中,Spinner(下拉列表)总是可以用到的,一个简单的自定义Spinner制作我们只需要记住这重要的五步,一个Spinner就可以应用而生了。

(1)新建一个Android工程,名字为SpinnerTest1。修改layout下的main.xml,添加一个Textview和一个Spinner,文件内容如下:

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

<LinearLayout

android:id= "@+id/widget28"

android:layout_width= "fill_parent"

android:layout_height= "fill_parent"

android:orientation= "vertical"

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

<TextView

android:id= "@+id/TextView_Show"

android:layout_width= "fill_parent"

android:layout_height= "wrap_content"

android:text= "你选择的是"

android:textSize= "25sp" >

</TextView>

<Spinner

android:id= "@+id/spinner_City"

android:layout_width= "fill_parent"

android:layout_height= "wrap_content" >

</Spinner> <!定义一个下拉菜单 >

</LinearLayout>

(2)修改你的SpinnerTest1类,在这里我们就要记住五步来自定义一个Spinner了,完整代码及五步注释如下:

package com . xtlh . spinner;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.os.Bundle;

import android.view.MotionEvent;

import android.view.View;

import android.view.View.OnTouchListener;

import android.view.animation.Animation;

import android.view.animation.AnimationUtils;

import android.widget.AdapterView;

import android.widget.ArrayAdapter;

import android.widget.Spinner;

import android.widget.TextView;

public class SpinnerTest1 extends Activity {

/** Called when the activity is first created. */

private List<String> list = new ArrayList<String>();

private TextView myTextView;

private Spinner mySpinner;

private ArrayAdapter<String> adapter;

private Animation myAnimation;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项

list.add("北京");

list.add("上海");

list.add("深圳");

list.add("南京");

list.add("重庆");

myTextView = (TextView)findViewById(R.id.TextView_Show);

mySpinner = (Spinner)findViewById(R.id.spinner_City);

//第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。

adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, list);

//第三步:为适配器设置下拉列表下拉时的菜单样式。

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

//第四步:将适配器添加到下拉列表上

mySpinner.setAdapter(adapter);

//第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中

mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){

public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

// TODO Auto-generated method stub

/* 将所选mySpinner 的值带入myTextView 中*/

myTextView.setText("您选择的是:"+ adapter.getItem(arg2));

/* 将mySpinner 显示*/

arg0.setVisibility(View.VISIBLE);

}

public void onNothingSelected(AdapterView<?> arg0) {

// TODO Auto-generated method stub

myTextView.setText("NONE");

arg0.setVisibility(View.VISIBLE);

}

});

/*下拉菜单弹出的内容选项触屏事件处理*/

mySpinner.setOnTouchListener(new Spinner.OnTouchListener(){

public boolean onTouch(View v, MotionEvent event) {

// TODO Auto-generated method stub

/* 将mySpinner 隐藏,不隐藏也可以,看自己爱好*/

v.setVisibility(View.INVISIBLE);

return false;

}

});

/*下拉菜单弹出的内容选项焦点改变事件处理*/

mySpinner.setOnFocusChangeListener(new Spinner.OnFocusChangeListener(){

public void onFocusChange(View v, boolean hasFocus) {

// TODO Auto-generated method stub

v.setVisibility(View.VISIBLE);

}

});

}

}

赞助本站

人工智能实验室

相关热词: UI开发 Spinner 下拉列表

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港