android下拉選單spinner的使用方法
Spinner控制元件也是一種列表型別的控制元件,它的繼承關係如下:
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.AdapterView<Textends android.widget.Adapter>
↳ android.widget.AbsSpinner
↳ android.widget.Spinner
android.widget.Spinner繼承了android.view.ViewGroup類。
在Android的UI開發中,Spinner(下拉列表)總是可以用到的,一個簡單的自定義Spinner製作我們只需要記住這重要的五步,一個Spinner就可以應用而生了。
(1)新建一個android工程,名稱為Spinner。同時建一個Activity,名稱為SpinnerActivity。
(2)修改res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id = "@+id/TextView_city" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:text = "所在城市:" /> <!-- 定義一個城市資訊下拉選單--> <Spinner android:id = "@+id/Spinner_city" android:layout_width = "wrap_content" android:layout_height ="wrap_content" > </Spinner > </LinearLayout>
(3)SpinnerActivity.java 程式碼。
package cn.com; 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.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.TextView; public class SpinnerActivity 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; @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_city); 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 /** * */ return false; } }); /*下拉選單彈出的內容選項焦點改變事件處理*/ mySpinner.setOnFocusChangeListener(new Spinner.OnFocusChangeListener(){ public void onFocusChange(View v, boolean hasFocus) { // TODO Auto-generated method stub } }); } }
執行結果如下圖所示:
相關推薦
android下拉選單spinner的使用方法
Spinner控制元件也是一種列表型別的控制元件,它的繼承關係如下: java.lang.Object ↳ android.view.View ↳ android.view.ViewGroup ↳ android.widget.Adap
Android下拉列表Spinner更改邊框和箭頭
直接在drawable檔案下建立xml檔案,寫spinner控制元件的時候background屬性引用樣式即可,程式碼中有詳細註釋 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns
Ajax動態訪問資料庫設計html多級select下拉選單的方法
getArea(0,$('<select>'));//呼叫方法,第一個引數是要查詢專案的id,根據資料庫來就好,第二個引數是一個select物件,可以是現有的,也可以生成一個新的在頁面重新
Bootstrap下拉選單使用方法
如何使用Bootstrap下拉選單元件 Bootstrap下拉選單元件使用起來非常容易,首先你需要定義一個class="dropdown"的div,然後在這個div標籤中寫入觸發下拉框的按鈕以及對應的下拉選單,類似程式碼如下:<div class="dropdo
android下拉選單三級聯動
package com.example.spinner; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import an
Android使用控制元件Spinner實現下拉選單列表
實現效果如下: 1.實現程式碼 package com.example.testspanner; import java.util.ArrayList; import java.util.Li
Android零基礎入門第46節:下拉框Spinner
targe GridView 通過 寫代碼 top tel 前世今生 spa oncreate 上一期學習了GridView的使用,你已經掌握了嗎?本期一起來學習Spinner的使用。 一、認識Spinner Spinner其實就是一個列表選擇框
android下拉列表(spinner)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_
bootstarp下拉選單的使用方法
<nav class="navbar navbar-fixed-top" style="background-color: white;"> <div class="container" > <div class="dropdown"&g
用CSS實現下拉選單功能(過於冗餘,此方法不建議)
<style> .dropdown{ position:relative; display:inline-block; } .dropbtn{ background-color:#4CAF50; color:white; padding:16
3種方法實現導航選單欄中的二級下拉選單
我們在淘寶、搜狐等大型網站上都可以看到使用的一些二級下拉選單,比如下面這張圖片。我們有至少三種方式來實現,附上程式碼供大家參考。 1.僅使用html和css <!DOCTYPE html><html lang="en"><head><meta
android PopupWindow巢狀ListView(模仿分類下拉選單效果)
先看下UI效果 這就是使用PopupWindow巢狀ListView實現的,這個簡單,不做多介紹直接上程式碼 1:佈局檔案 <span style="font-size:18px;"><RelativeLayout xmlns:android="ht
【解決方法】點選bootstrap上的下拉選單無反應
遇到問題是:點選bootstrap裡的下拉選單沒有反應 正常情況是點選時應該是由以下 變為 這樣下拉選單會正常出來 參照網上解決方法是:匯入的.js順序錯誤 1.匯入bootstrap的.css檔案 2.匯入jquery的.js檔案 3.匯入bootstrap
Android下拉通知欄會影響Activity的生命週期方法嗎?
很好奇,下拉通知欄會影響Activity的生命週期方法嗎? 在Activity的方法裡面加上呼叫的Log public class MainActivity extends AppCompatA
下拉選單被表單擋住的幾種解決方法
當層遇到下拉框時總是擋不了select框?其實這是IE的BUG,其它的瀏覽器沒有這個問題,對於這個問題論壇裡不少提出,在這裡提供我的幾種方法,各有各的好處,有錯,有好的意見者提出,謝謝.1.最直接的方法:隱藏下拉框.下面提供的是一個比較通用的一組函式:test.htm<
在visual studio 2017下用xamarin for android 做個簡單的註冊頁面,包含單選控制元件,多選控制元件和下拉選單控制元件
照著牛腩老師的視訊,自己做了個註冊頁面,實現了簡單的單選控制元件、多選控制元件、下拉選單控制元件的使用,由於日曆控制元件太醜,就不模仿了,下面就是reg.axml的佈局效果,後面是程式碼。 , <?xml version="1.0" encoding="utf-8"?
bootstrap的dropdown-menu(下拉選單)點選選項後不關閉的方法
下面的例子是bootstrap下拉選單的例子 1、html <div class="dropdown"> <button type="button" class="btn dropdown-toggle" id="dro
android上拉選單和下拉選單的實現
android關於下拉選單功能網上有很多實現demo,但我想要的是上拉選單,如下圖: 說勉強是剛好滿足自己的需求,而不能大眾化,如上圖中只有將Button等控制元件至於佈局底部才能實現理想效果。 demo原始碼見:
Android PopupWindow實現從頂部彈出下拉選單左、中、右
本例項的自定義下拉選單主要是繼承PopupWindow類來實現的彈出窗體,各種佈局效果可以根據自己定義設計。彈出的動畫效果主要用到了translate、alpha、scale,具體實現步驟如下: 先上效果圖如下:左邊下拉選單、中間下拉選
android利用PopupWindow實現點選工具欄彈出下拉選單
package com.example.dropdownmenu; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.os.Bu