当前位置:  编程技术>移动开发
本页文章导读:
    ▪自定义Spinner5步走        自定义Spinner五步走   在Android的UI开发中,Spinner(下拉列表)总是可以用到的,一个简单的自定义Spinner制作我们只需要记住这重要的五步,一个Spinner就可以应用而生了。 (1)新建一个Android工程.........
    ▪ 替培训准备的提问        为培训准备的提问 1 JAVA程序都有个MAIN函数作为函数的起点,那么ANDROID里是怎么启动MAIN函数的 ......
    ▪ 解决WM设计时窗体继承显示不出来控件的有关问题       解决WM设计时窗体继承显示不出来控件的问题 将此文件添加到工程里即可:DesignTimeAttributes.xmta<?xml version="1.0" encoding="utf-8"?><Classes xmlns="http://schemas.microsoft.com/VisualStudio/2004/03/SmartDevi.........

[1]自定义Spinner5步走
    来源: 互联网  发布时间: 2014-02-18
自定义Spinner五步走

 

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

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

Xml代码 
  • <?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了,完整代码及五步注释如下:

    Java代码 
  • 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);  
  •         }  
  •         });  
  •     }  
  • }  
  •   

     记住这五步后,一个Spinner就Ok了,其中在为Spinner的适配器设置下拉时的菜单样式时,我们可以自定义自己的样式,如果嫌麻烦,就直接用android.R.layout的,就如下面这样。
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);


        
    [2] 替培训准备的提问
        来源: 互联网  发布时间: 2014-02-18
    为培训准备的提问
    1 JAVA程序都有个MAIN函数作为函数的起点,那么ANDROID里是怎么启动MAIN函数的

        
    [3] 解决WM设计时窗体继承显示不出来控件的有关问题
        来源: 互联网  发布时间: 2014-02-18
    解决WM设计时窗体继承显示不出来控件的问题
    将此文件添加到工程里即可:DesignTimeAttributes.xmta

    <?xml version="1.0" encoding="utf-8"?>
    <Classes xmlns="http://schemas.microsoft.com/VisualStudio/2004/03/SmartDevices/XMTA.xsd">
      <Class Name="Namespace.FrmBase">
        <DesktopCompatible>true</DesktopCompatible>
      </Class>
    </Classes>

        
    最新技术文章:
    ▪Android开发之登录验证实例教程
    ▪Android开发之注册登录方法示例
    ▪Android获取手机SIM卡运营商信息的方法
    ▪Android实现将已发送的短信写入短信数据库的...
    ▪Android发送短信功能代码
    ▪Android根据电话号码获得联系人头像实例代码
    ▪Android中GPS定位的用法实例
    ▪Android实现退出时关闭所有Activity的方法
    ▪Android实现文件的分割和组装
    ▪Android录音应用实例教程
    ▪Android双击返回键退出程序的实现方法
    ▪Android实现侦听电池状态显示、电量及充电动...
    ▪Android获取当前已连接的wifi信号强度的方法
    ▪Android实现动态显示或隐藏密码输入框的内容
    ▪根据USER-AGENT判断手机类型并跳转到相应的app...
    ▪Android Touch事件分发过程详解
    ▪Android中实现为TextView添加多个可点击的文本
    ▪Android程序设计之AIDL实例详解
    ▪Android显式启动与隐式启动Activity的区别介绍
    ▪Android按钮单击事件的四种常用写法总结
    ▪Android消息处理机制Looper和Handler详解
    ▪Android实现Back功能代码片段总结
    ▪Android实用的代码片段 常用代码总结
    ▪Android实现弹出键盘的方法
    ▪Android中通过view方式获取当前Activity的屏幕截...
    ▪Android提高之自定义Menu(TabMenu)实现方法
    ▪Android提高之多方向抽屉实现方法
    ▪Android提高之MediaPlayer播放网络音频的实现方法...
    ▪Android提高之MediaPlayer播放网络视频的实现方法...
    ▪Android提高之手游转电视游戏的模拟操控
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3