android菜單效果
『壹』 請教實現android工程中點擊菜單彈出一個對話框
說下思路的,既然是彈出對話框,肯定是需要一個dialog,既然這個dialog中的一些屬性是自己設定的,肯定是要設置自己自定義的dialog,怎麼樣才能彈出dialog呢,當你監聽點擊菜單的事件,記得幾貼喲,邏輯很重要的,其他的就要靠你自己的了
android 點擊按鈕 讓菜單從上面彈出
分類: 移動開發/ Android/ 文章
VC/MFC 菜單從繪,點擊菜單項目發送自定義消息,彈出afxMessagebox("1");//報錯
菜單自繪,點擊菜單項目發送自定義消息,彈出afxMessagebox("1");//報錯wm_buttondown消息里//自定義消息SendMessage發送自定義消息,報錯。換成PostMessage就沒事。這是啥原理? 解決方案貼相關
VC/MFC 怎麼點擊按鈕彈出右鍵菜單,並且按鈕保持按上狀態
如何點擊按鈕彈出右鍵菜單,並且按鈕保持按下狀態?環境:VS2008 MFC問題:我重繪了按鈕,分為3個狀態:正常、滑鼠進入、滑鼠按下;當點擊滑鼠時會在按鈕下面彈出右鍵菜單。現在問題是右鍵菜單彈出後,按鈕的按下狀態就消失了!!請問如何在彈出菜單時使按鈕保持按下狀態,在菜單消失時按鈕狀態恢復正常?解決方案你試試看設立一個
VC/MFC MDI怎麼實現一個功能,菜單下點擊一個按鈕彈出一個ClistView
MDI如何實現一個功能,菜單上點擊一個按鈕彈出一個ClistView?MDI如何實現一個功能,菜單上點擊一個按鈕彈出一個ClistView?注意是CListView,不是彈對話框。這個功能怎麼實現啊??解決方案 CDockablePane ?用VS2008SP1/VS2010建個SDI/MDI工程就看到了
Android Android點按鈕彈出系統菜單的方法,該如何處理
Android點按鈕彈出系統菜單的方法不點擊menu按鈕、點擊自定義的按鈕彈出系統的menu菜單如何實現、菜鳥請教、解決方案http://www.eoeandroid.com/thread-69418-1-1.html 解決方案 調用這句KeyEvent event=new KeyEvent
Delphi 小弟我想點擊菜單上面的一個按鈕後,直接就類式與按下了PrintScreen鍵,但是小弟我對鍵盤消息不是很清楚,大俠
我想點擊菜單上面的一個按鈕後,直接就類式與按下了PrintScreen鍵,但是我對鍵盤消息不是很清楚,請教各位大俠!我是這樣實現的: 在按鈕的單擊事件裡面這樣寫的: SendMessage(Handle,WM_KEYUP,VK_SNAPSHOT,0
Android Android 彈出菜單 - PathButton
Android 彈出菜單 ---- PathButton http://www.oschina.net/p/pathbutton
Android 點擊彈出層如何處理點擊到上面層
點擊彈出層如何避免點擊到下面層 。如在原來的列表上 放了一個隱藏顯示的ReltionLayout 裡面放了一些 選項 選擇排序或過濾條件,這時在列表上面彈出顯示這個ReltionLayout ,點擊這個ReltionLayout 空白處 沒有剛好點擊
C++ VS2010點擊菜單彈出對話框解決方案
VS2010點擊菜單彈出對話框在mfc下,新建一個菜單項,然後給它加一個消息處理函數,就是彈出一個對話框的。但是,加一個消息處理函數的前提是這個菜單的Popup屬性是false,可是,當popup屬性是false的時候,程序運行出來那個菜單項是灰色的,根本點不動,更不用說彈出對話框了。不知道這個情況大家有沒有遇到過呢
Web前端 jQuery點擊彈出上拉菜單
jQuery點擊彈出下拉菜單<title>導航——點擊彈出內容</title> <style type="text/css"> .navgation{margin:0;padding:0;list-style-type:none
Android android彈出菜單銀屏移動
android彈出菜單屏幕移動有這樣一個效果:從屏幕左邊彈出一個寬度為w對話框,然後屏幕裡面的activity就往左邊移動w距離。請問用什麼方法可以實現這個方法呢解決方案
ASP.NET 點擊按鈕彈出網頁的有關問題
點擊按鈕彈出網頁的問題請問一下各位,我在網頁上放置一個按鈕,點擊時彈出另一個頁面,在我的機子上運行時可以彈出,當把網站打包安裝到另一台電腦時,點擊按鈕,就彈不出網頁,這是是么問題,謝謝! 我按鈕中的代碼是這樣的 protected void
VB VB怎麼點擊網頁彈出提示窗口的按鈕
VB如何點擊網頁彈出提示窗口的按鈕某網頁,點擊按鈕後會出現一個彈出窗口,在網上找,在CSDN上問,會找出其彈出窗口的文字內容了,但是其上面還有是、否或確定取消一兩個按鈕,我現在不會點這個按鈕,大家支下招哈!解決方案 幫樓主頂一下... 解決方案 你這其實是一個dhtml問題吧,壇子中常有類似的問題的,搜索一下吧
VC/MFC 點擊按鈕後彈出另一個對話框解決方法
點擊按鈕後彈出另一個對話框用CDialog類做出一個選擇界面:一個按鈕 點擊此按鈕後,會彈出另外的一個對話框按鈕(裡面可以有輸入命令的編輯框,也有可以點擊確定的按鈕) 請問,該如何實現上述的功能? 如何調用? 請詳細些,謝謝!解決方案在擬新建的對話框類中加入Create 調用即可。 解決方案無模式
java Web開發 點擊按鈕,彈出保存、打開對話框解決方案
點擊按鈕,彈出保存、打開對話框怎樣在html頁面上加按鈕跟響應實現這個功能?就比如像平時網頁上看到的下載,一點就出來個對話框,有打開,保存,取消的,點保存還能選擇保存路徑的,怎麼搞???解決方案你只要把文件鏈接放到頁面上,其他的就是瀏覽器的事情了。 解決方案探討你只要把文件鏈接放到頁面上,其他的就是瀏覽器的事情
ASP.NET 如何點擊按鈕彈出一個小窗口
怎麼點擊按鈕彈出一個小窗口?我做的是投票系統點擊投票按鈕彈出一個小窗口 小窗口裡面是投票用的!~解決方案先做個隱藏的DIV,點擊時再顯示 解決方案window.openwindow.showModalDialogDiv第三方控制項 解決方案javascript 解決方案傳值可以跟url傳一樣吧。。?UserID
『貳』 android中怎麼讓menu菜單顯示在屏幕左上角
用慣了Android的人在剛拿到iPhone的時候,總是會習慣性的用手指從狀態欄往下拖一下,這都是給Notification鬧的。
不過Notification也確實是1個不錯的提示工具,不幹擾正常的操作,事後還可以再翻看詳細的內容,點擊後還可以進入相關的畫面查看更具體的內容。
今天我就以代碼為主的形式來介紹Notification的使用,包括基本用法,自定義的View,以及更多的控制方法。
另一種Android中常用到的提示方法Toast的用法請參見《教程:在Android中使用Toast進行提示》
我們先看下Notification的幾個主要組成部分:
Icon:不解釋
Ticker Text:Notification剛出來的時候,在狀態欄上滾動的字幕,如果很長,會自動分割滾動
Content Title:Notification展開後的標題
Content Text:Notification展開後的內容
Notification的一般用法
取得NotificationManager
private NotificationManager mNotificationManager;
mNotificationManager = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
創建Notification並且顯示
//Notification的滾動提示
String tickerText = "My notification, It's a long text! Hello World desiyo?";
//Notification的圖標,一般不要用彩色的
int icon = R.drawable.icon_02241_3;
//contentTitle和contentText都是標準的Notification View的內容
//Notification的內容標題,拖下來後看到的標題
String contentTitle="My notification";
//Notification的內容
String contentText="Hello World!";
//Notification的Intent,即點擊後轉向的Activity
Intent notificationIntent = new Intent(this, this.getClass());
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
notificationIntent, 0);
//創建Notifcation
Notification notification = new Notification(icon, tickerText, System.currentTimeMillis());
//設定Notification出現時的聲音,一般不建議自定義
notification.defaults |= Notification.DEFAULT_SOUND;
//設定如何振動
notification.defaults |= Notification.DEFAULT_VIBRATE;
//指定Flag,Notification.FLAG_AUTO_CANCEL意指點擊這個Notification後,立刻取消自身
//這符合一般的Notification的運作規范
notification.flags|=Notification.FLAG_AUTO_CANCEL;
notification.setLatestEventInfo(this, contentTitle, contentText, contentIntent);
//顯示這個notification
mNotificationManager.notify(HELLO_ID, notification);
這是最基本的應用,可以說除了找個合適的圖標以外,其它都很簡單。
使用自定義View的Notification
同Toast一樣,我們也可以自已指定1個View來作為Notification展開後的顯示內容,比如說在Android Market中下載的時候,Notification中會顯示當前下載的進度,那麼我們也來模擬1個這樣的效果吧。
首先給出View的定義文件:notification_view_sample.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="3dp"
>
<ImageView android:id="@+id/notificationImage"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:src="@android:drawable/stat_sys_download"
/>
<TextView android:id="@+id/notificationTitle"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_toRightOf="@id/notificationImage"
android:layout_alignParentRight="true"
android:paddingLeft="6dp"
android:textColor="#FF000000"
/>
<TextView android:id="@+id/notificationPercent"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/notificationImage"
android:paddingTop="2dp"
android:textColor="#FF000000"
/>
<ProgressBar android:id="@+id/notificationProgress"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/notificationTitle"
android:layout_alignLeft="@id/notificationTitle"
android:layout_alignParentRight="true"
android:layout_alignTop="@id/notificationPercent"
android:paddingLeft="6dp"
android:paddingRight="3dp"
android:paddingTop="2dp"
style="?android:attr/progressBarStyleHorizontal"
/>
</RelativeLayout>
RelativeLayout的使用,可以參考:《教程:Android各種Layout特性和使用匯總(一)》
『叄』 androidUI鎺т歡Spinner涓嬫媺鑿滃崟鎺т歡涓ょ嶄嬌鐢ㄦ柟娉
浣跨敤android鍒朵綔琛ㄥ崟涓涓嬫媺鑿滃崟鎵浣跨敤鐨勬帶浠禨pinner鍦╝ndroid涓涓烘垜浠瀹氫箟浜嗗嶮鍒嗗ソ鐢ㄥソ鐪嬬殑鏍峰紡錛屽悓鏍風畝鍗曚嬌鐢ㄦ柟娉曚篃鏈変袱縐嶃傚垎鍒鍙浠ユ墜宸ユ瀯寤烘暟鎹鍜屼嬌鐢▁ml鑾峰彇鏁版嵁錛屽綋鐒跺疄闄呴」鐩涓闇瑕佽幏鍙栫綉緇滄暟鎹銆傚彟澶朣pinner鎺т歡闇瑕佸疄鐜癘nItemSelectedListener鎺ュ彛鏉ュ畬鎴怱pinner涓嬫媺鑿滃崟鐨勫姛鑳姐傚叿浣撲嬌鐢ㄦ柟娉曞備笅銆
涓銆佹墜宸ユ瀯寤篠pinner涓嬫媺妗嗘暟鎹
鎸夌収姝e父嫻佺▼錛岄栧厛搴斿厛鎶婂瑰簲鐨刅iew鏄劇ず鍑烘潵錛岄渶瑕佺敤鍒癟extView鍜孲pinner鎺т歡鍗沖彲錛屾墍鍦‵orm Widgets鍗沖彲鎵懼埌錛岀浉鍏充唬鐮佸拰紺轟緥鍥懼備笅銆
鍥犱負涓嬫媺鑿滃崟闇瑕佹暟鎹錛屾墍浠ユ垜浠鍏堢敤List灝嗘暟鎹婧愭斁榪涘幓錛屽畾涔変負getDataSource()銆備唬鐮佺ず渚嬪備笅銆
鏈鍚庤佸壋寤篠pinnerActivity錛屽湪鑾峰彇UI鎺т歡涔嬪悗錛岀劧鍚庡啀鍒涘緩Spinner鎺т歡閫傞厤鍣ㄥ苟瀹氫箟涓嬫媺妗嗙殑鏍峰紡錛岃繖閲屾敞鎰廇rrayAdapter瀹氫箟鐨勬硾鍨嬫槸String褰㈠紡鐨勶紝鑰屼笖android宸茬粡涓烘垜浠瀹氫箟濂戒簡涓嬫媺妗嗙殑鏍峰紡錛屾瘮濡俛ndroid.R.layout.simple_spinner_dropdown_item錛屽洜姝ゆ垜浠鐩存帴璋冪敤鍗沖彲瀹屾垚Spinner涓嬫媺妗嗘帶浠剁殑鎿嶄綔銆傜浉鍏充唬鐮佸備笅銆
浜屻佷嬌鐢╔ML鏋勫緩Spinner涓嬫媺妗嗘暟鎹
浣跨敤XML鏋勫緩Spinner涓嬫媺妗嗘暟鎹錛岀涓姝ヨ繕鏄瑕佸厛灝哣iew瑙嗗浘琛ㄧ幇鍑烘潵錛屽拰鏂規硶涓浠g爜鐩稿悓銆傜洿鎺ョ収鎼鍗沖彲銆
榪欎釜鏂規硶鐢ㄥ埌XML錛屽洜姝ゅ氨闇瑕佸埌string.xml涓瀹氫箟鏁版嵁婧愶紝紺轟緥浠g爜濡備笅錛
鏈鍚庡氨鏄鍦ㄥ壋寤虹殑SpinnerActivity涓鐩存帴鑾峰彇string.xml涓鐨勬暟鎹婧愶紝榪欓噷闇瑕佹敞鎰忕殑鏄蹇呴』瀹炵幇騫舵敞鍐岀洃鍚鍣∣nItemSelectedListener錛屾墠鑳戒嬌涔嬪墠鐨勬搷浣滅敓鏁堛俿pinner.setOnItemSelectedListener(this);銆傚彟澶栵紝閫傞厤鍣ˋrrayAdapter濡傛灉鐢ㄥ埌createFromResource鑾峰彇鏁版嵁婧愶紝灝卞繀欏誨畾涔堿rrayAdapter鐨勬硾鍨嬩負CharSequence褰㈠紡錛屽惁鍒欐姤閿欍傚叿浣撲唬鐮佸拰瀹炵幇鏁堟灉鍥懼備笅銆
『肆』 android 怎麼實現最美應用上滑置頂菜單
菜單是用戶界面中最常見的元素之一,使用非常頻繁,在Android中,菜單被分為如下三種,選項菜單(OptionsMenu)、上下文菜單(ContextMenu)和子菜單(SubMenu),以下說的是創建OptionsMenu
一、概述
public boolean onCreateOptionsMenu(Menu menu):使用此方法調用OptionsMenu。
public boolean onOptionsItemSelected(MenuItem item):選中菜單項後發生的動作。
public void onOptionsMenuClosed(Menu menu):菜單關閉後發生的動作。
public boolean onPrepareOptionsMenu(Menu menu):選項菜單顯示之前onPrepareOptionsMenu方法會被調用,你可以用此方法來根據打當時的情況調整菜單。
public boolean onMenuOpened(int featureId, Menu menu):單打開後發生的動作。
二、默認樣式
默認樣式是在屏幕底部彈出一個菜單,這個菜單我們就叫他選項菜單OptionsMenu,一般情況下,選項菜單最多顯示2排每排3個菜單項,這些菜單項有文字有圖標,也被稱作Icon Menus,如果多於6項,從第六項開始會被隱藏,在第六項會出現一個More里,點擊More才出現第六項以及以後的菜單項,這些菜單項也被稱作Expanded Menus。下面介紹。
1.main.xml
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextViewandroid:layout_width="wrap_content"
android:layout_height="wrap_content"android:text="請點擊Menu鍵顯示選項菜單"
android:id="@+id/TextView02"/>
</LinearLayout>
2。重載onCreateOptionsMenu(Menu menu)方法
重載onCreateOptionsMenu(Menu menu)方法,並在此方法中添加菜單項,最後返回true,如果false,菜單則不會顯示。
(Menumenu)
@Override
(Menumenu){
/*
*
*add()方法的四個參數,依次是:
*
*1、組別,如果不分組的話就寫Menu.NONE,
*
*2、Id,這個很重要,Android根據這個Id來確定不同的菜單
*
*3、順序,那個菜單現在在前面由這個參數的大小決定
*
*4、文本,菜單的顯示文本
*/
menu.add(Menu.NONE,Menu.FIRST+1,5,"刪除").setIcon(
android.R.drawable.ic_menu_delete);
//setIcon()方法為菜單設置圖標,這里使用的是系統自帶的圖標,同學們留意一下,以
//android.R開頭的資源是系統提供的,我們自己提供的資源是以R開頭的
menu.add(Menu.NONE,Menu.FIRST+2,2,"保存").setIcon(
android.R.drawable.ic_menu_edit);
menu.add(Menu.NONE,Menu.FIRST+3,6,"幫助").setIcon(
android.R.drawable.ic_menu_help);
menu.add(Menu.NONE,Menu.FIRST+4,1,"添加").setIcon(
android.R.drawable.ic_menu_add);
menu.add(Menu.NONE,Menu.FIRST+5,4,"詳細").setIcon(
android.R.drawable.ic_menu_info_details);
menu.add(Menu.NONE,Menu.FIRST+6,3,"發送").setIcon(
android.R.drawable.ic_menu_send);
returntrue;
}
3。為菜單項注冊事件
使用onOptionsItemSelected(MenuItem item)方法為菜單項注冊事件
(MenuItemitem)
@Override
(MenuItemitem){
switch(item.getItemId()){
caseMenu.FIRST+1:
Toast.makeText(this,"刪除菜單被點擊了",Toast.LENGTH_LONG).show();
break;
caseMenu.FIRST+2:
Toast.makeText(this,"保存菜單被點擊了",Toast.LENGTH_LONG).show();
break;
caseMenu.FIRST+3:
Toast.makeText(this,"幫助菜單被點擊了",Toast.LENGTH_LONG).show();
break;
caseMenu.FIRST+4:
Toast.makeText(this,"添加菜單被點擊了",Toast.LENGTH_LONG).show();
break;
caseMenu.FIRST+5:
Toast.makeText(this,"詳細菜單被點擊了",Toast.LENGTH_LONG).show();
break;
caseMenu.FIRST+6:
Toast.makeText(this,"發送菜單被點擊了",Toast.LENGTH_LONG).show();
break;
}
returnfalse;
}
4.完整代碼
packagecom.android.menu;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.widget.Toast;
{
/**.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
(Menumenu){
/*
*
*add()方法的四個參數,依次是:
*
*1、組別,如果不分組的話就寫Menu.NONE,
*
*2、Id,這個很重要,Android根據這個Id來確定不同的菜單
*
*3、順序,那個菜單現在在前面由這個參數的大小決定
*
*4、文本,菜單的顯示文本
*/
menu.add(Menu.NONE,Menu.FIRST+1,5,"刪除").setIcon(
android.R.drawable.ic_menu_delete);
//setIcon()方法為菜單設置圖標,這里使用的是系統自帶的圖標,同學們留意一下,以
//android.R開頭的資源是系統提供的,我們自己提供的資源是以R開頭的
menu.add(Menu.NONE,Menu.FIRST+2,2,"保存").setIcon(
android.R.drawable.ic_menu_edit);
menu.add(Menu.NONE,Menu.FIRST+3,6,"幫助").setIcon(
android.R.drawable.ic_menu_help);
menu.add(Menu.NONE,Menu.FIRST+4,1,"添加").setIcon(
android.R.drawable.ic_menu_add);
menu.add(Menu.NONE,Menu.FIRST+5,4,"詳細").setIcon(
android.R.drawable.ic_menu_info_details);
menu.add(Menu.NONE,Menu.FIRST+6,3,"發送").setIcon(
android.R.drawable.ic_menu_send);
returntrue;
}
@Override
(MenuItemitem){
switch(item.getItemId()){
caseMenu.FIRST+1:
Toast.makeText(this,"刪除菜單被點擊了",Toast.LENGTH_LONG).show();
break;
caseMenu.FIRST+2:
Toast.makeText(this,"保存菜單被點擊了",Toast.LENGTH_LONG).show();
break;
caseMenu.FIRST+3:
Toast.makeText(this,"幫助菜單被點擊了",Toast.LENGTH_LONG).show();
break;
caseMenu.FIRST+4:
Toast.makeText(this,"添加菜單被點擊了",Toast.LENGTH_LONG).show();
break;
caseMenu.FIRST+5:
Toast.makeText(this,"詳細菜單被點擊了",Toast.LENGTH_LONG).show();
break;
caseMenu.FIRST+6:
Toast.makeText(this,"發送菜單被點擊了",Toast.LENGTH_LONG).show();
break;
}
returnfalse;
}
@Override
publicvoidonOptionsMenuClosed(Menumenu){
Toast.makeText(this,"選項菜單關閉了",Toast.LENGTH_LONG).show();
}
@Override
(Menumenu){
Toast.makeText(this,
"選項菜單顯示之前onPrepareOptionsMenu方法會被調用,你可以用此方法來根據打當時的情況調整菜單",
Toast.LENGTH_LONG).show();
//如果返回false,此方法就把用戶點擊menu的動作給消費了,onCreateOptionsMenu方法將不會被調用
returntrue;
}
}
5.運行效果
『伍』 android spinner樣式能做出蘋果下拉框的效果嗎
在Android中Spinner就是下拉菜單,它相當於HTML中的<select>標簽。
Android中提供的Spinner Widget下拉菜單已經非常好用了,樣式也適用,不過我們還是可以通過定義xml的方式來改變下拉菜單的樣式。
在layout目錄下新建一個xml文件,名字隨便(我這里叫myspinner.xml)。在這個文件裡面可以定義下拉菜單的樣式
我們這里採用TextView來實現
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="24sp"
android:singleLine="true"
style="?android:attr/spinnerDropDownItemStyle" />
在Activity中我們可以這樣調用
private static final String[] countriesStr={"","","",""}
mySpinner = (Spinner) findViewById(R.id.mySpinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, countriesStr);
adapter.setDropDownViewResource(R.layout.myspinner_dropdown);
mySpinner.setAdapter(adapter);
利用自定義的xml我們就可以很靈活的來改變下拉菜單的樣式。
另外andorid也提供了兩種基本的樣式
android.R.layout.simple_spinner_item:TextView的下拉菜單
android.R.layout.simple_spinner_dropdown_item:右邊帶有radio的下拉菜單
============
方法2:
自定義下拉菜單 -------- 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.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
public class SpinnerDrop extends Activity {
/** Called when the activity is first created. */
private List cityList;
private Spinner sp;
private int pos;
//private Animation animation;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
cityList= new ArrayList();//初始化一個city的String arraylist
countryList.add("長沙");
countryList.add("北京");
countryList.add("邵陽");
pos=0;//標記選擇的位置
sp = (Spinner)findViewById(R.id.Spinner01);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,cityList);
sp.setAdapter(adapter);//通過setAdapter()來讀取ArrayAdapter里的數據
sp.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){//////下拉列表的選擇事件
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
pos = position;//////////////標記選擇的位置
TextView tv = (TextView)findViewById(R.id.xs);
tv.setText("selected:"+cityList.get(position).toString());//顯示選擇的內容
parent.setVisibility(View.VISIBLE);////設置下拉列表的顯示狀態
}
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
Button add = (Button)findViewById(R.id.add);//添加一個下拉項
add.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
EditText et = (EditText)findViewById(R.id.EditText01);
String newstr = et.getText().toString();
cityList.add(newstr);
ArrayAdapter<String>
adapter = new
ArrayAdapter<String>(SpinnerDrop.this,android.R.layout.simple_spinner_item,cityList);
sp.setAdapter(adapter);//添加數據後重新設置ArrayAdapter並載入進去
et.setText("");
Toast.makeText(SpinnerDrop.this, "添加成功", Toast.LENGTH_LONG).show();//浮框提示添加成功
}
});
Button del = (Button)findViewById(R.id.del);//刪除下拉項
del.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v) {
cityList.remove(pos);
ArrayAdapter<String>
adapter = new
ArrayAdapter<String>(SpinnerDrop.this,android.R.layout.simple_spinner_item,cityList);
sp.setAdapter(adapter);
Toast.makeText(SpinnerDrop.this, "刪除成功", Toast.LENGTH_LONG).show();
}
});
}
}