效果图:

menual_search.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/dvb_background"android:gravity="center"android:orientation="vertical"android:weightSum="1"><LinearLayoutandroid:layout_width="760dp"android:layout_height="450dp"android:layout_gravity="center"android:gravity="center_horizontal"android:background="@drawable/dvb_search_bg"android:orientation="vertical"><LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent"android:layout_height="86dp" android:orientation="vertical" android:layout_weight="0.14"><TextView android:id="@+id/textView1"android:gravity="center"android:layout_gravity="center" android:layout_width="wrap_content"android:layout_height="50dp"android:textSize="30sp"android:text="@string/menual_search" android:textAppearance="?android:attr/textAppearanceLarge" ></TextView><ImageViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:background="@drawable/dvb_title_line"/></LinearLayout><LinearLayoutandroid:id="@+id/fre_layout"android:layout_width="match_parent"android:layout_height="56dp"android:gravity="center"android:orientation="horizontal"><TextViewandroid:id="@+id/textView2"android:layout_width="150dp"android:layout_height="40dp"android:gravity="center"android:text="@string/frequency"android:textSize="24sp"android:background="@drawable/dvb_list_item"></TextView><EditTextandroid:id="@+id/menual_search_edit_frq"android:layout_width="260dp"android:layout_height="40dp"android:gravity="center"android:inputType="numberDecimal"android:maxLength="6"android:selectAllOnFocus="true"android:textColor="#ff0a82e6"android:textSize="20sp"android:background="@drawable/text_view_selector"></EditText><TextView android:id="@+id/textView3"android:layout_width="100dp" android:layout_height="40dp"android:gravity="center"android:textSize="24sp"android:text="@string/frq_unit"android:background="@drawable/dvb_list_item"></TextView></LinearLayout><LinearLayoutandroid:id="@+id/symbol_layout"android:layout_width="match_parent"android:layout_height="56dp"android:gravity="center"android:orientation="horizontal"><TextViewandroid:id="@+id/menualsearchtextView2"android:layout_width="150dp"android:layout_height="40dp"android:gravity="center"android:text="@string/symbol"android:textSize="24sp"android:background="@drawable/dvb_list_item"></TextView><EditTextandroid:id="@+id/menual_search_edit_sym"android:layout_width="260dp"android:layout_height="40dp"android:gravity="center"android:inputType="numberDecimal"android:maxLength="4"android:selectAllOnFocus="true"android:textColor="#ff0a82e6"android:textSize="20sp"android:background="@drawable/text_view_selector"></EditText><TextView android:id="@+id/menualsearchtextView3"android:textSize="24sp" android:layout_width="100dp" android:layout_height="40dp"android:gravity="center"android:text="@string/sym_unit"android:background="@drawable/dvb_list_item"></TextView></LinearLayout><LinearLayoutandroid:id="@+id/qam_layout"android:layout_width="match_parent"android:layout_height="56dp"android:gravity="center"android:orientation="horizontal"><TextViewandroid:id="@+id/menualsearchtextview2"android:layout_width="150dp"android:layout_height="40dp"android:gravity="center"android:text="@string/modulation"android:textSize="24sp"android:background="@drawable/dvb_list_item"></TextView><Spinnerandroid:id="@+id/menual_search_edit_mod"android:layout_width="260dp"android:layout_height="40dp"style="@style/dvb_spinner"></Spinner><TextView android:textSize="24sp" android:layout_width="100dp" android:layout_height="40dp"android:gravity="center"android:text="@string/qam_unit"android:background="@drawable/dvb_list_item"></TextView></LinearLayout><LinearLayout android:id="@+id/linearLayout3"android:layout_width="match_parent"android:layout_height="70dp" android:gravity="center"android:orientation="vertical" android:layout_weight="0.51"><Buttonandroid:id="@+id/menual_search_button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center|bottom"android:background="@drawable/ok_btn"android:text="@string/ok"android:textSize="24sp" ><requestFocus></requestFocus></Button></LinearLayout></LinearLayout>
</LinearLayout>

其中 Spinner 的style              style="@style/dvb_spinner"

    <style name="dvb_spinner" parent="@android:style/Widget.Spinner"><item name="android:background">@drawable/spinner_item_selector</item><item name="android:clickable">true</item><item name="android:spinnerMode">dropdown</item><item name="android:dropDownSelector">@drawable/list_selector</item><item name="android:popupBackground">@drawable/popup_selector</item><item name="android:dropDownVerticalOffset">0dip</item><item name="android:dropDownHorizontalOffset">0dip</item><item name="android:dropDownWidth">wrap_content</item><item name="android:gravity">center</item></style>

spinner_item_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" ><item android:state_window_focused="false"android:state_enabled="true"android:drawable="@drawable/spinner_item_bg"></item><item android:state_focused="true"android:drawable="@drawable/spinner_item_selected"></item><item android:drawable="@drawable/spinner_item_bg"></item>
</selector>

list_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" ><itemandroid:state_selected="true"android:drawable="@drawable/edit_text_fg"></item><itemandroid:drawable="@color/full_transparent_background"></item>
</selector>

<color name="full_transparent_background">#00000000</color>

popup_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" ><itemandroid:state_above_anchor="true"android:drawable="@drawable/text_selected"></item><itemandroid:drawable="@drawable/text_selected"></item>
</selector>

MenualSearch.java

package com.um.ui;import java.util.ArrayList;
import java.util.List;import com.um.controller.AppBaseActivity;
import com.um.controller.ParamSave;
import com.um.dvbsearch.R;import android.app.Activity;
import android.app.Instrumentation;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnKeyListener;
import android.view.inputmethod.InputMethodManager;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;public class MenualSearch extends AppBaseActivity {protected static final String TAG = "MenualSearch";private Spinner qam_spinner;private EditText fre_ed;private EditText smbl_ed;private Button btn;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.menual_search);qam_spinner = (Spinner)findViewById(R.id.menual_search_edit_mod);
//        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
//                this, R.array.qam_array, R.layout.simple_spinner_item); List<CharSequence> spinnerVal = new ArrayList<CharSequence>();spinnerVal.add("16");spinnerVal.add("32");spinnerVal.add("64");spinnerVal.add("128");spinnerVal.add("256");ArrayAdapter<CharSequence> adapter =  new ArrayAdapter<CharSequence>(MenualSearch.this, R.layout.simple_spinner_item,spinnerVal ){@Overridepublic View getDropDownView(int position, View convertView, android.view.ViewGroup parent) {parent.setOnKeyListener(new OnKeyListener() {@Overridepublic boolean onKey(View arg0, int arg1, KeyEvent arg2) {// TODO Auto-generated method stubif(arg2.getAction() == KeyEvent.ACTION_DOWN){Log.i(TAG,"keycode="+arg1);switch (arg1) {case KeyEvent.KEYCODE_MENU:Log.i(TAG, "parent KEYCODE_MENU is click");new Thread() {public void run() {try {Instrumentation inst = new Instrumentation();inst.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);} catch (Exception e) {Log.i(TAG,"Exception when sendKeyDownUpSync e="+e.toString());}}}.start();break;case KeyEvent.KEY_SOURCEENTER:  Log.i(TAG, "parent KEY_SOURCEENTER is click");new Thread() {public void run() {try {Instrumentation inst = new Instrumentation();inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);} catch (Exception e) {Log.i(TAG,"Exception when sendKeyDownUpSync e="+e.toString());}}}.start();return true;}}return false;}});return super.getDropDownView(position, convertView, parent);}};adapter.setDropDownViewResource(R.layout.simple_spinner_item);qam_spinner.setAdapter(adapter);qam_spinner.setSelection(2);    fre_ed = (EditText)findViewById(R.id.menual_search_edit_frq);smbl_ed= (EditText)findViewById(R.id.menual_search_edit_sym);fre_ed.setText("227000");smbl_ed.setText("6875");fre_ed.setOnFocusChangeListener(new View.OnFocusChangeListener() {  @Overridepublic void onFocusChange(View v, boolean hasFocus) {// TODO Auto-generated method stubint freqVal;if(hasFocus){//��������ý���}else{if(0 != Integer.parseInt(fre_ed.getText().toString())%10){Toast.makeText(MenualSearch.this, getResources().getString(R.string.lastNumMayNotBeNonzero), 1).show();        freqVal = Integer.parseInt(fre_ed.getText().toString());freqVal = freqVal/10*10;fre_ed.setText(Integer.toString(freqVal));}}}});btn = (Button)findViewById(R.id.menual_search_button);btn.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {btnClick();}});}private void btnClick() {if(fre_ed.getText().toString().equals("")){fre_ed.requestFocus();Toast.makeText(MenualSearch.this, getResources().getString(R.string.inputNotEmpty), 1).show();return ;}else if(smbl_ed.getText().toString().equals("")){smbl_ed.requestFocus();Toast.makeText(MenualSearch.this, getResources().getString(R.string.inputNotEmpty), 1).show();return ;                    }int fre;int symbl;int qam;int type = 1;fre = Integer.parseInt(fre_ed.getText().toString());symbl = Integer.parseInt(smbl_ed.getText().toString());qam = qam_spinner.getSelectedItemPosition()+1;Log.i("MenualSearch",""+fre +symbl +qam);Intent it = new Intent(MenualSearch.this, Search.class);Bundle bundle = new Bundle();                          bundle.putInt("type", type);bundle.putInt("fre", fre);bundle.putInt("sym", symbl);bundle.putInt("qam", qam);it.putExtras(bundle); Bundle extras = getIntent().getExtras();if (extras != null) {it.putExtras(extras); }startActivity(it);}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {switch (keyCode) {case KeyEvent.KEYCODE_MENU:new Thread() {public void run() {try {Instrumentation inst = new Instrumentation();inst.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);} catch (Exception e) {Log.i(TAG,"Exception when sendKeyDownUpSync e="+e.toString());}}}.start();break;case KeyEvent.KEY_SOURCEENTER: if(fre_ed.isFocused()||smbl_ed.isFocused()){Log.i(TAG, "isFocused KEY_SOURCEENTER is click");InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);                }if(btn.isFocused()){btnClick();}if(qam_spinner.isFocused()){new Thread() {public void run() {try {Instrumentation inst = new Instrumentation();inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);} catch (Exception e) {Log.i(TAG,"Exception when sendKeyDownUpSync e="+e.toString());}}}.start();            }return true;}return super.onKeyDown(keyCode, event);}
}

图片资源文件:链接:http://pan.baidu.com/s/1gexMTcn 密码:ei7h

备注:

我的网盘/mycode/DvbSearch_Spinner _code.rar

Spinner ArrayAdapter相关推荐

  1. Android 监听多个Spinner 的点击事件

    同一个界面有多个Spinner 点击事件的时候 只有一个onItemSelected 我们可以使用 给不同的点击事件添加Tag 来区分 具体的做法如下: 下面的代码主要体现在添加spinner.set ...

  2. 一步一步自定义spinner

    目录 前言 (1)改变初始布局 (2)改变列表item布局 (3)改变弹窗背景及位置 (4)添加选中效果 源码 前言 spinner就是下拉选择组件,系统自带的spinner使用起来非常方便,首先定义 ...

  3. Hello Views之Spinner(yaozq翻译,仅供参考)

    Spinner是一种类似于下拉列表的widget. 在这个教程中,你将创建一个简单的用于展示星球列表的spinner组件.当选择列表中的一项时,将会弹出一个表示所选项的toast信息.下面是具体步骤: ...

  4. Android笔记 简单demo Spinner AutoCompleteTextView Menu

    demo1 spinner 1布局 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android& ...

  5. java数组r.id_Android HelloViews Spinner教程R.id和R.array无法解析

    我遇到了Android HelloViews Spinner教程的问题. HelloSpinner.java中的错误表明"R.id无法解析"和"R.array无法解析&q ...

  6. android下拉框代码,Android下拉列表spinner的实例代码

    spinner组件有点类型于HTML中的下拉框的样子,让用户每次从下拉框中选取一个,本文为大家分享了Android下拉列表spinner的具体实现代码,供大家参考,具体内容如下 mian.xml xm ...

  7. android spinner 简书,一步一步自定义spinner

    spinner就是下拉选择组件,系统自带的spinner使用起来非常方便,首先定义一个array(strings.xml),如下: 一年级 二年级 三年级 四年级 五年级 六年级 代码如下: Spin ...

  8. android spinner布局,重拾Android之路之Spinner

    引言 最近做的项目想仿做滴滴出行首页的悬浮框. 正文 效果参考滴滴出行; 工欲善其事,必先利其器!来...... Spinner详解 Spinner控件初始化时,会调用它的选择监听事件,默认选择第一个 ...

  9. android spinner 按钮,android sqlite和spinner的用法示例

    在此示例中,我们在单击按钮时添加了标签,并在微调器上显示了所有添加的标签.如上例所示,需要扩展SQLiteOpenHelper类以在sqlite上执行操作. 我们在DatabaseHandler类中重 ...

最新文章

  1. python编程做什么工作-什么样的人要学点python编程?请你对号入座
  2. word如何(以标题)另起一页(段落 --> 换行和分页 --> 段前分页)
  3. 使用heroku进行免费分布式运算.Vs.AWS
  4. 相机裁剪旋转_怎么旋转视频画面角度
  5. 试玩C++ 操作页面控件
  6. JAVA设置流中当前位置_Java程序来标记此输入流中的当前位置
  7. HTML5开发和web前端开发的区别与联系?
  8. 年终感想——财务自由的程序员,你见过吗?
  9. C++---异常处理
  10. C++面向对象程序设计课程笔记(第三周)
  11. python中什么是异常,python中异常处理,python异常处理,什么是异常?异常是一
  12. StringUtil.isEmpty()和StringUtil.isBlank()的区别
  13. 伺服驱动器--增益调整
  14. 使用 IKuai 和 DDNSTO 外网访问你的设备(NAS、软路由)
  15. [SCOI2009]粉刷匠 两个dp
  16. MobaXterm复制粘贴快捷键
  17. 刚换了Mac本这些快捷键你知道吗?
  18. 好用的GraphViz 在线绘图收集
  19. python环境搭建及应用
  20. correl函数相关系数大小意义_correl(correl函数相关系数大小意义)

热门文章

  1. ps简单合成一个微小人像
  2. 由点金系统想到的——如何剥开系统美丽的外衣
  3. java做mp3_用java编写MP3播放器
  4. Centos6 升级Git版本
  5. 图片加载失败后---加载默认图片
  6. Unity3D 开关按钮Toggle (可以做单选按钮)
  7. RSA非对称加密算法
  8. .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named
  9. 合法与不合法的标识符
  10. SAPUI5是什么?Fiori告诉我们将来UI开发用哪种技术?