




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Unicair Communication Tec Co., Ltd.煙臺友開通信技術(shù)有限公司1.TextView1.TextView的用法的用法 2.EditText 2.EditText的用法的用法3.Button3.Button的用法的用法 4. 4.ImageButtonImageButton的用法的用法5.CheckBox5.CheckBox的用法的用法 6.RadioButton 6.RadioButton的用法的用法7.7.SpinnerSpinner的用法的用法 8. 8.LiseViewLiseView的用法的用法9.TabHost9.TabHost的用法的用法 10.Scr
2、ollView10.ScrollView的用法的用法11.ProgressBar11.ProgressBar的應(yīng)用的應(yīng)用 12.ImageView12.ImageView的應(yīng)用的應(yīng)用13.AutoCompleteTextView13.AutoCompleteTextView的應(yīng)用的應(yīng)用14.ImageSwitcher&Gallery14.ImageSwitcher&Gallery的應(yīng)用的應(yīng)用15.GridView15.GridView的應(yīng)用的應(yīng)用uTextViewTextView是一種用于顯示字符串的控件是一種用于顯示字符串的控件uEditTextEditText則是用來輸入和編輯字符串的控件
3、則是用來輸入和編輯字符串的控件EditTextEditText是是 一個具有編輯功能的一個具有編輯功能的TextViewTextView 建立一個建立一個“TextViewDemoTextViewDemo”的程序,包含的程序,包含TextViewTextView和和 EditTextEditText兩個控件。上方兩個控件。上方“用戶名用戶名”部分使用的是部分使用的是 TextViewTextView,下方的文字輸入框使用的是,下方的文字輸入框使用的是EditTextEditText。uTextViewDemoTextViewDemo在在XMLXML文件中的代碼文件中的代碼 第第2行的行的and
4、roid:layout_width屬性用來設(shè)置屬性用來設(shè)置TextView的寬度,的寬度,wrap_content表示表示TextView寬度只要能夠包含所顯示的字符串即可寬度只要能夠包含所顯示的字符串即可 第第3行的行的android:layout_height屬性用來設(shè)置屬性用來設(shè)置TextView的高度的高度 第第4行表示行表示TextView所顯示的字符串,在后面將通所顯示的字符串,在后面將通 過代碼更改過代碼更改TextView的顯示內(nèi)容的顯示內(nèi)容 第第7行中行中“fill_content”表示表示EditText的寬度將等于父控件的寬度的寬度將等于父控件的寬度uTextViewDe
5、mo.javaTextViewDemo.java文件中代碼的修改文件中代碼的修改 TextView textView = (TextView)findViewById(R.id.TextView01); EditText editText = (EditText)findViewById(R.id.EditText01); textView.setText(用戶名:用戶名:); editText.setText();u第第1行代碼的行代碼的findViewById()函數(shù)能夠通過函數(shù)能夠通過ID引用界面引用界面上的任何控件,只要該控件在上的任何控件,只要該控件在XML文件中定義過文件中定義過I
6、D即可。即可。u第第3行代碼的行代碼的setText()函數(shù)用來設(shè)置函數(shù)用來設(shè)置TextView所顯示的所顯示的內(nèi)容。內(nèi)容。Button是一種按鈕控件,用戶能夠在該控件上點(diǎn)擊,并能引發(fā)相應(yīng)是一種按鈕控件,用戶能夠在該控件上點(diǎn)擊,并能引發(fā)相應(yīng)的事件處理函數(shù)。的事件處理函數(shù)。ImageButton用以實(shí)現(xiàn)能夠顯示圖像功能的控件按鈕。建立一個用以實(shí)現(xiàn)能夠顯示圖像功能的控件按鈕。建立一個“ButtonDemo”的程序,包含的程序,包含Button和和 ImageButton兩個按鈕,上兩個按鈕,上方是方是“Button按鈕按鈕”,下方是一個,下方是一個ImageButton控件??丶?。 定義定義But
7、ton控件的高度、寬度和內(nèi)容控件的高度、寬度和內(nèi)容定義定義ImageButton控件的高度和寬度,但是沒定義顯示的控件的高度和寬度,但是沒定義顯示的 圖像,在后面的代碼中進(jìn)行定義圖像,在后面的代碼中進(jìn)行定義引入資源引入資源1.將將download.png文件拷貝到文件拷貝到/res/drawable文文件夾下件夾下2.在在/res目錄上選擇目錄上選擇Refresh,新添加的新添加的文件將顯示文件將顯示/res/drawabl文件文件夾下夾下* R.java文件內(nèi)容文件內(nèi)容也得到了更新也得到了更新* 否則提示無法找否則提示無法找到資源的錯誤到資源的錯誤u更改更改Button和和ImageButt
8、on內(nèi)容內(nèi)容,引入引入 android.widget.Button和和android.widget.ImageButton Button button = (Button)findViewById(R.id.Button01); ImageButton imageButton = (ImageButton)findViewById(R.id.ImageButton01); button.setText(Button按鈕按鈕); imageButton.setImageResource(R.drawable.download); 第第1行代碼用于引用在行代碼用于引用在XML文件中定義的文件中定義
9、的Button控件控件 第第2行代碼用于引用在行代碼用于引用在XML文件中定義的文件中定義的ImageButton控件控件 第第3行代碼將行代碼將Button的顯示內(nèi)容更改為的顯示內(nèi)容更改為“Button按鈕按鈕” 第第4行代碼利用行代碼利用setImageResource()函數(shù),將新加入的函數(shù),將新加入的png文件文件R.drawable.download傳遞給傳遞給ImageButton*按鈕響應(yīng)點(diǎn)擊事件:添加點(diǎn)擊事件的監(jiān)聽器按鈕響應(yīng)點(diǎn)擊事件:添加點(diǎn)擊事件的監(jiān)聽器final TextView textView = (TextView)findViewById(R.id.TextView0
10、1);button.setOnClickListener(new View.OnClickListener() public void onClick(View view) textView.setText(Button按鈕按鈕););imageButton.setOnClickListener(new View.OnClickListener() public void onClick(View view) textView.setText(ImageButton按鈕按鈕);); 第第2行代碼中行代碼中button對象通過調(diào)用對象通過調(diào)用setOnClickListener()函數(shù),注冊一個
11、點(diǎn)擊(函數(shù),注冊一個點(diǎn)擊(Click)事件的監(jiān)聽器)事件的監(jiān)聽器View.OnClickListener() 第第3行代碼是點(diǎn)擊事件的回調(diào)函數(shù)行代碼是點(diǎn)擊事件的回調(diào)函數(shù) 第第4行代碼將行代碼將TextView的顯示內(nèi)容更改為的顯示內(nèi)容更改為“Button按鈕按鈕”uView.OnClickListener()View.OnClickListener()是是View定義的點(diǎn)擊事件的監(jiān)聽器定義的點(diǎn)擊事件的監(jiān)聽器 接口,并在接口中僅定義了接口,并在接口中僅定義了onClick()函數(shù)函數(shù)當(dāng)當(dāng)Button從從Android界面框架中接收到事件后,首先檢查界面框架中接收到事件后,首先檢查 這個事件是否是
12、點(diǎn)擊事件,如果是點(diǎn)擊事件,同時這個事件是否是點(diǎn)擊事件,如果是點(diǎn)擊事件,同時 Button又注冊了監(jiān)聽器,則會調(diào)用該監(jiān)聽器中的又注冊了監(jiān)聽器,則會調(diào)用該監(jiān)聽器中的onClick() 函數(shù)函數(shù)每個每個View僅可以注冊一個點(diǎn)擊事件的監(jiān)聽器,如果使用僅可以注冊一個點(diǎn)擊事件的監(jiān)聽器,如果使用 setOnClickListener()函數(shù)注冊第二個點(diǎn)擊事件的監(jiān)聽函數(shù)注冊第二個點(diǎn)擊事件的監(jiān)聽 器,之前注冊的監(jiān)聽器將被自動注銷器,之前注冊的監(jiān)聽器將被自動注銷多個按鈕注冊到同一個點(diǎn)擊事件的監(jiān)聽器上,代碼如下多個按鈕注冊到同一個點(diǎn)擊事件的監(jiān)聽器上,代碼如下Button.OnClickListener butto
13、nListener = new Button.OnClickListener()Overridepublic void onClick(View v) switch(v.getId()case R.id.Button01:textView.setText(Button按鈕按鈕);return;case R.id.ImageButton01:textView.setText(ImageButton按鈕按鈕);return; ; button.setOnClickListener(buttonListener); imageButton.setOnClickListener(buttonListe
14、ner); 第第1行至第行至第12行代碼定義了一個名為行代碼定義了一個名為buttonListener的點(diǎn)擊事件監(jiān)聽器的點(diǎn)擊事件監(jiān)聽器 第第13行代碼將該監(jiān)聽器注冊到行代碼將該監(jiān)聽器注冊到Button上上 第第14行代碼將該監(jiān)聽器注冊到行代碼將該監(jiān)聽器注冊到ImageButton上上* CheckBox是一個同時可以選擇多個選項的控件是一個同時可以選擇多個選項的控件* RadioButton則是僅可以選擇一個選項的控件則是僅可以選擇一個選項的控件* RadioGroup是是RadioButton的承載體,程序運(yùn)行時不可見,應(yīng)用程序中可的承載體,程序運(yùn)行時不可見,應(yīng)用程序中可 能包含一個或多個能
15、包含一個或多個RadioGroup。一個。一個RadioGroup包含多個包含多個RadioButton,在,在 每個每個RadioGroup中,用戶僅能夠選擇其中一個中,用戶僅能夠選擇其中一個RadioButton。建立一個。建立一個“CheckboxRadiobuttonDemo”程序,包含五個控件,從上至下分別是程序,包含五個控件,從上至下分別是 TextView01、CheckBox01、CheckBox02、RadioButton01、RadioButton02 當(dāng)選擇當(dāng)選擇RadioButton01, RadioButton02則無法選擇則無法選擇CheckboxRadiobutt
16、onDemo在在XML文件中的代碼文件中的代碼 第第15行行標(biāo)簽聲明了一個標(biāo)簽聲明了一個RadioGroup 第第18行和第行和第23行分別聲明了兩個行分別聲明了兩個RadioButton,這兩個,這兩個RadioButton是是RadioGroup的子元素的子元素u 引用引用CheckBox和和RadioButton的方法參考下面的代碼的方法參考下面的代碼 CheckBox checkBox1= (CheckBox)findViewById(R.id.CheckBox01); RadioButton radioButton1= (RadioButton)findViewById(R.id.R
17、adioButton01);uCheckBox設(shè)置點(diǎn)擊事件監(jiān)聽器的簡要代碼設(shè)置點(diǎn)擊事件監(jiān)聽器的簡要代碼 CheckBox.OnClickListener checkboxListener = new CheckBox.OnClickListener()Overridepublic void onClick(View v) /過程代碼過程代碼; checkBox1.setOnClickListener(checkboxListener); checkBox2.setOnClickListener(checkboxListener);u與與Button設(shè)置點(diǎn)擊事件監(jiān)聽器中介紹的方法相似,唯一不同在
18、于將設(shè)置點(diǎn)擊事件監(jiān)聽器中介紹的方法相似,唯一不同在于將 Button.OnClickListener換成了換成了CheckBox.OnClickListeneruRadioButton設(shè)置點(diǎn)擊事件監(jiān)聽器的方法設(shè)置點(diǎn)擊事件監(jiān)聽器的方法 RadioButton.OnClickListener radioButtonListener = new RadioButton.OnClickListener()Override public void onClick(View v) /過程代碼過程代碼; radioButton1.setOnClickListener(radioButtonListener)
19、; radioButton2.setOnClickListener(radioButtonListener);uSpinner是一種能夠從多個選項中選一選項的控件,類似于桌面程序的組合框(ComboBox),但沒有組合框的下拉菜單,而是使用浮動菜單為用戶提供選擇。u建立一個程序“SpinnerDemo”包含3個子項Spinner控件u SpinnerDemo在XML文件中的代碼 第第5行使用行使用標(biāo)簽聲明了一個標(biāo)簽聲明了一個Spinner控件控件 第第6行代碼中指定了該控件的寬度為行代碼中指定了該控件的寬度為300dipu在在SpinnerDemo.java文件中,定義一個文件中,定義一個Ar
20、rayAdapter適配器,在適配器,在 ArrayAdapter中添加需要在中添加需要在Spinner中可以選擇的內(nèi)容,需要在代碼中中可以選擇的內(nèi)容,需要在代碼中 引入引入android.widget.ArrayAdapter和和android.widget.Spinner Spinner spinner = (Spinner) findViewById(R.id.Spinner01); List list = new ArrayList();list .add(Spinner子項1);list .add(Spinner子項2);list .add(Spinner子項3); ArrayAda
21、pter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, list ); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); 第2行代碼建立了一個字符串?dāng)?shù)組列表(ArrayList),這種數(shù)組列表可以根據(jù)需要進(jìn)行增減。表示數(shù)組列表中保存的是字符串類型的數(shù)據(jù)在代碼的第3、4、6行中,使用add()函數(shù)分別向數(shù)組列表中添加3個字符串。 第6行
22、代碼建立了一個ArrayAdapter的數(shù)組適配器,數(shù)組適配器能夠?qū)⒔缑婵丶偷讓訑?shù)據(jù)綁定在一起 第7行代碼設(shè)定了Spinner的浮動菜單的顯示方式,其中,android.R.layout.simple_spinner_dropdown_item是Android系統(tǒng)內(nèi)置的一種浮動菜單第8行代碼實(shí)現(xiàn)綁定過程,所有ArrayList中的數(shù)據(jù),將顯示在Spinner的浮動菜單中u設(shè)置android.R.layout.simple_spinner_item浮動菜單,顯示結(jié)果如圖適配器綁定界面控件和底層數(shù)據(jù),如果底層數(shù)據(jù)更改了,用戶界面也相應(yīng)修改顯示內(nèi)容,就不需要應(yīng)用程序再監(jiān)視,從而極大的簡化的代碼的復(fù)
23、雜性uListView是一種用于垂直顯示的列表控件,如果顯示內(nèi)容過多, 則 會出現(xiàn)垂直滾動條uListView能夠通過適配器將數(shù)據(jù)和自身綁定,有限的屏幕上提供大 量內(nèi)容供用戶選擇,所以是經(jīng)常使用的用戶界面控件uListView支持點(diǎn)擊事件處理,用戶可以用少量代碼實(shí)現(xiàn)復(fù)雜的選擇 功能建立一個“ListViewDemo” 程序,包含四個控件,從上至下分別為TextView01、 ListView01、 ListView02和 ListView03 -u ListViewDemo在在XML文件中的代碼文件中的代碼 步驟和前面基本是一樣的。步驟和前面基本是一樣的。u 在在ListViewDemo.ja
24、va文件中,首先需要為文件中,首先需要為ListView創(chuàng)建適配器,并創(chuàng)建適配器,并添加添加ListView中所顯示的內(nèi)容中所顯示的內(nèi)容 final TextView textView = (TextView)findViewById(R.id.TextView01); ListView listView = (ListView)findViewById(R.id.ListView01); List list = new ArrayList(); list.add(ListView子項子項1); list.add(ListView子項子項2); list.add(ListView子項子項3);
25、 ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, list ); listView.setAdapter(adapter); 第第2行代碼通過行代碼通過ID引用了引用了XML文件中聲明的文件中聲明的ListView 第第7行代碼聲明了適配器行代碼聲明了適配器ArrayAdapter,第三個參數(shù),第三個參數(shù)list說明配器的數(shù)據(jù)說明配器的數(shù)據(jù)源為數(shù)組列表源為數(shù)組列表 第第8行代碼將行代碼將ListView和適配器綁定和適配器綁定u 下面的代碼聲明了ListView子項的點(diǎn)擊事件監(jiān)聽
26、器,用以確定用戶在ListView中,選擇的是哪一個子項 AdapterView.OnItemClickListener listViewListener = new AdapterView.OnItemClickListener()Override public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) String msg =“”; textView.setText(msg); listView.setOnItemClickListener(listViewListener); 第1行的Adapte
27、rView.OnItemClickListener是ListView子項的點(diǎn)擊事件監(jiān)聽器,同樣是一個接口,需要實(shí)現(xiàn)onItemClick()函數(shù)。在ListView子項被選擇后,onItemClick()函數(shù)將被調(diào)用 第3行的onItemClick()函數(shù)中一共有四個參數(shù),參數(shù)0表示適配器控件,就是ListView;參數(shù)1表示適配器內(nèi)部的控件,是ListView中的子項;參數(shù)2表示適配器內(nèi)部的控件也就是子項的位置;參數(shù)3表示子項的行號。 第4行和第5行代碼用于顯示信息,選擇子項確定后,在TextView中顯示子項父控件的信息、子控件信息、位置信息和ID信息。 第7行代碼是ListView指定剛
28、剛聲明的監(jiān)聽器TabHostuTab標(biāo)簽頁是界面設(shè)計時經(jīng)常使用的界面控件,可以實(shí)現(xiàn)多個分頁之間的快速切換,每個分頁可以顯示不同的內(nèi)容右圖是Android系統(tǒng)內(nèi)置的Tab標(biāo)簽頁,點(diǎn)擊“呼出/接聽鍵”后出現(xiàn),用于電話呼出和查看撥號記錄、聯(lián)系人uTab標(biāo)簽頁的使用 首先要設(shè)計所有的分頁的界面布局,在分頁設(shè)計完成后,使用代碼 建立Tab標(biāo)簽頁,并給每個分頁添加標(biāo)識和標(biāo)題,最后確定每個分 頁所顯示的界面布局u每個分頁建立一個XML文件,用以編輯和保存分頁的界面布局,使 用的方法與設(shè)計普通用戶界面沒有什么區(qū)別u TabHost是整個Tab的容器,包括兩部分,TabWidget和 FrameLayout。T
29、abWidget就是每個tab的標(biāo)簽,F(xiàn)rameLayout 則是tab內(nèi)容。 TabHost建立一個“TabDemo”程序,包含三個XML文件,分別為tab1.xml、tab2.xml和tab3.xml,這3個文件分別使用線性布局、相對布局和絕對布局示例中的main.xml的代碼,并將布局的ID分別定義為layout01、layout02和layout03tab1.xml文件代碼tab2.xml文件代碼tab3.xml文件代碼LinearLayout android:id = +id/layout01 AbsoluteLayout android:id=+id/layout02 Relati
30、veLayout android:id=+id/layout03 TabHostu在TabDemo.java文件中鍵入下面的代碼,創(chuàng)建Tab標(biāo)簽頁,并建立子頁與界面布局直接的關(guān)聯(lián)關(guān)系public class TabDemo extends TabActivity Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); TabHost tabHost = getTabHost(); LayoutInflater.from(this).inflate(R.layout.
31、tab1,tabHost.getTabContentView(),true); LayoutInflater.from(this).inflate(R.layout.tab2,tabHost.getTabContentView(),true); LayoutInflater.from(this).inflate(R.layout.tab3,tabHost.getTabContentView(),true); tabHost.addTab(tabHost.newTabSpec(TAB1).setIndicator(線性布局線性布局).setContent(R.id.layout01); tabH
32、ost.addTab(tabHost.newTabSpec(TAB2)setIndicator(絕對布局絕對布局).setContent(R.id.layout02); tabHost.addTab(tabHost.newTabSpec(TAB3).setIndicator(相對布局相對布局).setContent(R.id.layout03); TabHost第1行代碼的聲明TabDemo類繼承于TabActivity,如同 ListActivity第4行代碼通過getTabHost()函數(shù)獲得了Tab標(biāo)簽頁的容器,用以 承載可以點(diǎn)擊的Tab標(biāo)簽和分頁的界面布局。第5行代碼通過LayoutI
33、nflater將tab1.xml文件中的布局轉(zhuǎn)換為 Tab標(biāo)簽頁可以使用的View對象第7行代碼使用addTab()函數(shù)添加了第1個分頁, tabHost.newTabSpec(TAB1)表明在第4行代碼中建立的 tabHost上,添加一個標(biāo)識為TAB1的Tab分頁第9行代碼使用setIndicator()函數(shù)設(shè)定分頁顯示的標(biāo)題,使用 setContent()函數(shù)設(shè)定分頁所關(guān)聯(lián)的界面布局TabDemo示例的運(yùn)行結(jié)果如圖TabHostu在使用Tab標(biāo)簽頁時,可以將不同分頁的界面布局保存在 不同的XML文件中,也可以將所有分頁的布局保存在同一 個XML文件中u第一種方法有利于在Eclipse開發(fā)環(huán)
34、境中進(jìn)行可視化設(shè) 計,并且不同分頁的界面布局在不同的文件中更加易于 管理第二種方法則可以產(chǎn)生較少的XML文件,同時編碼時 的代碼也會更加簡潔ScrollView:滾動視圖,將一個屏幕顯示不了的內(nèi)容通過滾動顯示出來滾動視圖,將一個屏幕顯示不了的內(nèi)容通過滾動顯示出來這個組件的使用比較直觀,直接在這個組件的使用比較直觀,直接在LinearLayout外面再增加外面再增加ScrollView組件申明即可。實(shí)現(xiàn)代碼如下:組件申明即可。實(shí)現(xiàn)代碼如下:這里將這里將ScrollView套在套在LinearLayout外面,使得當(dāng)外面,使得當(dāng)LinearLayout的內(nèi)容超過一個屏的內(nèi)容超過一個屏幕的時候可以滾
35、動瀏覽。右圖給幕的時候可以滾動瀏覽。右圖給出一個運(yùn)行程序后的示例出一個運(yùn)行程序后的示例。uProgressBar最直觀的感覺就是進(jìn)度條的顯示,Android中進(jìn)度條有很多種,最常見的是圓形進(jìn)度條和水平進(jìn)度條。在xml中:ProgressBar android:id=+id/firstBar“ style=?android:attr/progressBarStyleHorizontal android:layout_width=200dp android:layout_height=wrap_content“ android:max=“200” android:visibility=gone/
36、ProgressBar android:id=+id/secondBar“ style=?android:attr/progressBarStyle android:layout_width=wrap_content android:layout_height=wrap_content android:visibility=gone/ ImageViewu ImageView組件,主要作用是展示圖片。 這里先在main.xml文件中添加一個按鈕,用以打開演示ImageView組件的界面,實(shí)現(xiàn)代碼如下: 設(shè)定完按鈕后,編寫響應(yīng)代碼: Button image_view_button =(Butt
37、on)findViewById(R.id.image_view_button); image_view_button.setOnClickListener(image_view_button_listener); private Button.OnClickListener image_view_button_listener = new Button.OnClickListener() public void onClick(View v) Intent intent = new Intent();intent.setClass(MainActivity.this, ImageViewAct
38、ivity.class);startActivity(intent); ;ImageView 在單擊按鈕后,會啟動一個新的ImageViewActivity,所以這里我們應(yīng)該創(chuàng)建一個新的ImageViewActivity.java文件。實(shí)現(xiàn)代碼如下:public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setTitle(“Test_ImageView);setContentView(R.layout.image_view); 在上面代碼調(diào)用了一個image_view.xml的文件,對
39、應(yīng)設(shè)計代碼如下: 最后在AndroidManifest.xml中添加上對該Activity的申 請,實(shí)現(xiàn)代碼如下:單擊“圖片視圖按鈕”顯示結(jié)果如右圖所示u編寫AutoCompleteTextView的方法: 在在Activity的布局文件中添加的布局文件中添加AutoCompleteTextView: 新建一個布局文件新建一個布局文件list1用于設(shè)置自動完成控件的提示框樣式:用于設(shè)置自動完成控件的提示框樣式: 在在Activity中獲取中獲取AutoCompleteTextView并使用并使用ArrayAdapter設(shè)置設(shè)置.AutoCompleteTextView autoComplete
40、TextView = (AutoCompleteTextView)findViewById(R.id.autocompleteId);/創(chuàng)建一個創(chuàng)建一個list,為,為ArrayAdapter提供數(shù)據(jù)提供數(shù)據(jù)List list = new ArrayList();list.add(“chile);list.add(“china);ArrayAdapter arrayAdapter = new ArrayAdapter(this,R.layout.list1,list);autoCompleteTextView.setAdapter(arrayAdapter);ImageSwitcher&Gal
41、leryImageSwitcher&Galleryu ImageSwitcher 和 Gallery組件配合可以完成水平拖動,并且中間顯示的特殊表達(dá)形式。最終實(shí)現(xiàn)的是在屏幕上面展示一個大圖,在屏幕下面是一組可以滾動的圖片。 ImageSwitcher&GalleryImageSwitcher&GalleryuImageShowActivity.java的代碼實(shí)現(xiàn)代碼如下:public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);requestWindowFeature(Window.FE
42、ATURE_NO_TITLE); setContentView(R.layout.image_show); setTitle(“l(fā)ittle boy); mSwitcher = (ImageSwitcher) findViewById(R.id.switcher); mSwitcher.setFactory(this); mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in); mSwitcher.setOutAnimation(AnimationUtils.loadAnimatio
43、n(this, android.R.anim.fade_out);Gallery g = (Gallery) findViewById(R.id.gallery); g.setAdapter(new ImageAdapter(this); g.setOnItemSelectedListener(this); requestWindowFeature(Window.FEATURE_NO_TITLE);是使得這個Activity沒有 titlebar,進(jìn)而這個圖片顯示區(qū)域會增大。Gallery這個類和ListView這個類使用方法差不多,也是要利用setAdapter來進(jìn)行 資源的設(shè)置。這里對Ba
44、seAdapter進(jìn)行封裝,通過getView這個函數(shù)來返回要顯示 的那個ImageView ImageSwitcher&GalleryImageSwitcher&Galleryu getView實(shí)現(xiàn)代碼如下: public View getView(int position, View convertView, ViewGroup parent) ImageView i = new ImageView(mContext); i.setImageResource(mThumbIdsposition); /源文件 i.setAdjustViewBounds(true); i.setLayoutParams(new Gallery.LayoutParams( /大小 LayoutParams.WRAP_CONTENT,LayoutParams.W
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年黑龍江省建筑安全員A證考試題庫及答案
- 覆土撒播有機(jī)肥施工方案
- 單位購置窗簾合同范本
- 出租鄉(xiāng)鎮(zhèn)倉庫房合同范本
- 二年級口算題目全集100道
- 企業(yè)標(biāo)志商標(biāo)設(shè)計合同范本
- 卸貨安全合同范本
- 全村荒地出租合同范例
- 寫真退款合同范本
- 單位車輛報廢合同范例
- 中國高血壓防治指南(2024年修訂版)
- 10KV變電所電氣調(diào)試施工方案
- 國家農(nóng)產(chǎn)品質(zhì)量安全監(jiān)督抽查抽樣單
- 聘書模板可編輯
- 課本劇《劉姥姥進(jìn)大觀園》劇本
- 離心式壓縮機(jī)功率公式
- 參保人員就醫(yī)流程doc
- 2019湘美版五年級《書法練習(xí)指導(dǎo)》下冊教案
- 東南大學(xué)建筑學(xué)專業(yè)課程設(shè)置
- Q∕CR 562.2-2017 鐵路隧道防排水材料 第2部分:止水帶
- (完整版)倉儲客戶需求調(diào)研表.doc
評論
0/150
提交評論