所使用的工具:電腦

在惠水等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計、成都網(wǎng)站制作 網(wǎng)站設(shè)計制作定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè),惠水網(wǎng)站建設(shè)費(fèi)用合理。
開發(fā)工具:eclipse for ?Android , Android ?Studio
用adapter 寫下拉菜單需要我們自己進(jìn)行自定義,具體步驟如下:
1、自定義類,類成員與需要顯示的字段一致;
public?class?Manufacture?{
private?String?name?;
public?Manufacture(String?name)?{
super();
this.name?=?name;
}
public?String?getName()?{
return?name;
}
public?void?setName(String?name)?{
this.name?=?name;
}
}
2、自定義adapter并繼承自BaseAdapter實(shí)現(xiàn)相應(yīng)方法,下面是貼出的代碼示例:
public?class?MnufactureAdapter?extends?BaseAdapter{
private?ListManufacture?mList;
private?Context?context?;
//創(chuàng)建有參構(gòu)造,參數(shù)需要傳入兩個1.自定義類類型的List,上下文參數(shù)
public?MnufactureAdapter(ListManufacture?mList,?Context?context)?{
super();
this.mList?=?mList;
this.context?=?context;
}
//返回長度位所定義List的長度
@Override
public?int?getCount()?{
return?mList.size();
}
//返回位置為自定義list當(dāng)前位置
@Override
public?Object?getItem(int?position)?{
return?mList.get(position)
;
}
//返回條目的ID
@Override
public?long?getItemId(int?position)?{
return?position;
}
//這里getView需方法需要重點(diǎn)說明和注意:
@Override
public?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{
//創(chuàng)建一個LayoutInflater并傳入上下文
LayoutInflater?linflater?=?LayoutInflater.from(context);
//添加自定義item布局到convertView;(item內(nèi)容和樣式通過自定義方式實(shí)現(xiàn))
convertView?=?linflater.inflate(R.layout.spinner_item_layout,?null);
//初始化Item中控件
TextView?textView?=(TextView)?convertView.findViewById(R.id.manufacture_list);
//設(shè)置控件顯示內(nèi)容
textView.setText(mList.get(position).getName());
return?convertView;
}
}
3、在activity中需要添加如下代碼:
//初始化布局文件中的spinner
Spinner??mSpinner?=?(Spinner)?findViewById(R.id.spinner1);
//初始化自定義的List,并往里面添加數(shù)據(jù)
ListManufacture??manufacture?=?new?ArrayListManufacture();
接著就是添加數(shù)據(jù),在項(xiàng)目中我是添加的從網(wǎng)絡(luò)上下載的數(shù)據(jù)解析之后進(jìn)行添加的,具體的添加方式根據(jù)具體需要進(jìn)行添加,我把自己的貼在下面供大家參考:
for(int?i?=?0;ilist.size();i++){
//添加數(shù)據(jù)源
manufacture.add(new?Manufacture(list.get(i).getName()));
}
//實(shí)例化一個之前自定義的adapter并向里面添加數(shù)據(jù)
MnufactureAdapter?madapter?=?new?MnufactureAdapter(manufacture,?ProductManageActivity.this);
參數(shù)說明:第一個參數(shù)是添加數(shù)據(jù)源后的List,第二個是當(dāng)前activity的上下文。
最后一步,向spinner里面添加數(shù)據(jù)源
mSpinner.setAdapter(madapter);
在UI中經(jīng)常會使用到下拉列表,在android控件中有兩個下拉列表控件:
在xml中添加控件的使用:
主題:
這些都沒有達(dá)到我要的效果:
android:entries // 傳入的是values文件夾下的arrayx.xml內(nèi)的數(shù)據(jù)
android:spinnerMode //顯示模式有popmenu和dialog兩種
android:prompt //當(dāng)顯示模式為dialog時生效,作用為顯示dialog的標(biāo)題內(nèi)容
這種情況應(yīng)該是手機(jī)系統(tǒng)出現(xiàn)問題,需要在專業(yè)人士指導(dǎo)下刷機(jī)才能恢復(fù),具體刷機(jī)方法為:
a、打開“刷機(jī)助手”官方網(wǎng)站,在頁面中下載刷機(jī)助手。下載完成后安裝并啟動刷機(jī)助手。
b、用手機(jī)原裝數(shù)據(jù)線將手機(jī)與電腦相連接,然后等待刷機(jī)助手完成初始化工作。待刷機(jī)助手成功識別手機(jī)后,可以點(diǎn)擊“一鍵刷機(jī)”按鈕開始刷機(jī)。
c、點(diǎn)擊“瀏覽”按鈕選擇之前下載的刷機(jī)包,若沒有下載可以使用刷機(jī)助手市場下載ROM包。選擇手機(jī)對應(yīng)的型號開始下載ROM。
d、選擇刷機(jī)包后點(diǎn)擊“下一步”按鈕備份手機(jī)數(shù)據(jù),以免數(shù)據(jù)丟失。備份開始前,在手機(jī)中允許刷機(jī)助手讀取短信、聯(lián)系人等記錄。然后點(diǎn)擊“刷機(jī)”按鈕開始備份并刷機(jī),慢慢等待刷機(jī)完成。
Android的下拉列表是用Spinner 這個類來實(shí)現(xiàn)的。
Spinner的使用(分別使用ArrayAdapter和自定義Adapter實(shí)現(xiàn)),使用ArrayAdapter進(jìn)行適配數(shù)據(jù):
1:首先定義一個布局文件:
LinearLayout xmlns:android=""
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/
/LinearLayout
2:建立數(shù)據(jù)源,使用數(shù)組,這些數(shù)據(jù)將會在Spinner下來列表中進(jìn)行顯示:
?xml version="1.0" encoding="utf-8"?
resources
string-array name="spinnername"
item北京/item
item上海 /item
item廣州/item
item深圳/item
/string-array
/resources
3:接著在Activity中加入如下的代碼(使用了系統(tǒng)定義的下拉列表的布局文件,當(dāng)然也可以自定義)
// 初始化控件
mSpinner = (Spinner) findViewById(R.id.spinner1);
// 建立數(shù)據(jù)源
String[] mItems = getResources().getStringArray(R.array.spinnername);
// 建立Adapter并且綁定數(shù)據(jù)源
ArrayAdapterString _Adapter=new ArrayAdapterString(this,android.R.layout.simple_spinner_item, mItems);
//綁定 Adapter到控件
mSpinner.setAdapter(_Adapter);
android 下拉菜單
1.?xml version="1.0" encoding="utf-8"?
12.LinearLayout xmlns:android=""
13. android:orientation="vertical" android:gravity="right"
14. android:layout_width="fill_parent" android:layout_height="fill_parent"
15.
19. FrameLayout android:layout_height="wrap_content"
20. android:layout_width="fill_parent"
21. TextView android:layout_width="wrap_content"
22. android:layout_height="wrap_content" android:text="FrameLayout"
23. /TextView
24. TextView android:layout_width="wrap_content"
25. android:layout_height="wrap_content" android:text="Frame Layout"
26. /TextView
27. /FrameLayout
28.
29. TextView android:layout_width="wrap_content"
30. android:layout_height="wrap_content" android:text="@string/hello" /
31.
39. TableLayout android:id="@+id/TableLayout01"
40. android:layout_width="fill_parent" android:layout_height="wrap_content"
41. android:collapseColumns="1"
42. TableRow android:id="@+id/TableRow01" android:layout_width="fill_parent"
43. android:layout_height="wrap_content"
44. TextView android:layout_width="wrap_content"
45. android:layout_weight="1" android:layout_height="wrap_content"
46. android:text="行1列1" /
47. TextView android:layout_width="wrap_content"
48. android:layout_weight="1" android:layout_height="wrap_content"
49. android:text="行1列2" /
50. TextView android:layout_width="wrap_content"
51. android:layout_weight="1" android:layout_height="wrap_content"
52. android:text="行1列3" /
53. /TableRow
54. TableRow android:id="@+id/TableRow01" android:layout_width="wrap_content"
55. android:layout_height="wrap_content"
56. TextView android:layout_width="wrap_content"
57. android:layout_height="wrap_content" android:text="行2列1" /
58. /TableRow
59. /TableLayout
60.
66. AbsoluteLayout android:layout_height="wrap_content"
67. android:layout_width="fill_parent"
68. TextView android:layout_width="wrap_content"
69. android:layout_height="wrap_content" android:text="AbsoluteLayout"
70. android:layout_x="100px"
71. android:layout_y="100px" /
72. /AbsoluteLayout
73.
81. RelativeLayout android:id="@+id/RelativeLayout01"
82. android:layout_width="fill_parent" android:layout_height="fill_parent"
83. TextView android:layout_width="wrap_content" android:id="@+id/abc"
84. android:layout_height="wrap_content" android:text="centerInParent=true"
85. android:layout_centerInParent="true" /
86. TextView android:layout_width="wrap_content"
87. android:layout_height="wrap_content" android:text="marginLeft=20px"
88. android:layout_marginLeft="20px" /
89. TextView android:layout_width="wrap_content"
90. android:layout_height="wrap_content" android:text="xxx"
91. android:layout_below="@id/abc" android:layout_alignRight="@id/abc" /
92. /RelativeLayout
93.
94./LinearLayout
95.
96.
97.res/values/strings.xml
98.?xml version="1.0" encoding="utf-8"?
99.resources
100. string name="hello"Hello Layout/string
101. string name="app_name"webabcd_layout/string
102./resources
103.
104.
105.Main.java
106.
107.代碼
108.package com.webabcd.layout;
109.
110.import android.app.Activity;
111.import android.os.Bundle;
112.
113.public class Main extends Activity {
114. /** Called when the activity is first created. */
115. @Override
116. public void onCreate(Bundle savedInstanceState) {
117. super.onCreate(savedInstanceState);
118. setContentView(R.layout.main);
119. }
120.}
121.
122.
123.2、上下文菜單,選項(xiàng)菜單,子菜單
124.res/layout/main.xml
125.
126.代碼
127.?xml version="1.0" encoding="utf-8"?
128.LinearLayout xmlns:android=""
129. android:orientation="vertical" android:layout_width="fill_parent"
130. android:layout_height="fill_parent"
131.
132. TextView android:id="@+id/txt1" android:layout_width="fill_parent"
133. android:layout_height="wrap_content" android:text="@string/hello_contextMenu" /
134.
135. TextView android:id="@+id/txt2" android:layout_width="fill_parent"
136. android:layout_height="wrap_content" android:text="@string/hello_subMenu" /
137.
138./LinearLayout
139.
140.
141.res/values/strings.xml
142.
143.代碼
144.?xml version="1.0" encoding="utf-8"?
145.resources
146. string name="hello_contextMenu"Hello Context Menu/string
147. string name="hello_subMenu"Hello Context Sub Menu/string
148. string name="app_name"webabcd_menu/string
149./resources
150.
151.
152.Main.java
153.
154.代碼
155.package com.webabcd.menu;
156.
157.import android.app.Activity;
158.import android.os.Bundle;
159.import android.view.ContextMenu;
160.import android.view.Menu;
161.import android.view.MenuItem;
162.import android.view.SubMenu;
163.import android.view.View;
164.import android.view.ContextMenu.ContextMenuInfo;
165.import android.widget.TextView;
166.import android.widget.Toast;
167.
168.// 演示兩種菜單的實(shí)現(xiàn)方式:上下文菜單(通過在某元素上長按,來呼出菜單)和選項(xiàng)菜單(通過按手機(jī)上的菜單按鈕,來呼出菜單)
169.public class Main extends Activity {
170. /** Called when the activity is first created. */
171. @Override
172. public void onCreate(Bundle savedInstanceState) {
173. super.onCreate(savedInstanceState);
174. setContentView(R.layout.main);
175.
176. // 為 R.id.txt1 注冊一個上下文菜單(在此 TextView 上長按,則會呼出上下文菜單)
177. // 具體呼出的菜單內(nèi)容需要重寫 onCreateContextMenu 來創(chuàng)建
178. TextView txt1 = (TextView) this.findViewById(R.id.txt1);
179. this.registerForContextMenu(txt1);
180.
181. // 為 R.id.txt2 注冊一個上下文菜單
182. TextView txt2 = (TextView) this.findViewById(R.id.txt2);
183. this.registerForContextMenu(txt2);
184. }
185.
186. // 重寫 onCreateContextMenu 用以創(chuàng)建上下文菜單
187. // 重寫 onContextItemSelected 用以響應(yīng)上下文菜單
188. @Override
189. public void onCreateContextMenu(ContextMenu menu, View v,
190. ContextMenuInfo menuInfo) {
191. super.onCreateContextMenu(menu, v, menuInfo);
192.
193. // 創(chuàng)建 R.id.txt1 的上下文菜單
194. if (v == (TextView) this.findViewById(R.id.txt1)) {
195.
196. // ContextMenu.setIcon() - 設(shè)置菜單的圖標(biāo)
197. // ContextMenu.setHeaderTitle() - 設(shè)置菜單的標(biāo)題
198. menu.setHeaderIcon(R.drawable.icon01);
199. menu.setHeaderTitle("我是菜單");
200.
201. // 用 ContextMenu.add() 來增加菜單項(xiàng),返回值為 MenuItem
202. // 第一個參數(shù):組ID
203. // 第二個參數(shù):菜單項(xiàng)ID
204. // 第三個參數(shù):順序號
205. // 第四個參數(shù):菜單項(xiàng)上顯示的內(nèi)容
206. menu.add(1, 0, 0, "菜單1");
207.
208. // MenuItem - 新增菜單項(xiàng)后的返回類型,針對菜單項(xiàng)的其他設(shè)置在此對象上操作
209. menu.add(1, 1, 1, "菜單2").setCheckable(true);
210.
211. }
212. // 創(chuàng)建 R.id.txt2 的上下文菜單(多級上下文菜單)
213. else if (v == (TextView) this.findViewById(R.id.txt2)) {
214.
215. // ContextMenu.addSubMenu("菜單名稱") - 用來添加子菜單。子菜單其實(shí)就是一個特殊的菜單
216. SubMenu sub = menu.addSubMenu("父菜單1");
217. sub.setIcon(R.drawable.icon01);
218. sub.add(0, 0, 0, "菜單1");
219. sub.add(0, 1, 1, "菜單2");
220. sub.setGroupCheckable(1, true, true);
221.
222. SubMenu sub2 = menu.addSubMenu("父菜單2");
223. sub2.setIcon(R.drawable.icon01);
224. sub2.add(1, 0, 0, "菜單3");
225. sub2.add(1, 1, 1, "菜單4");
226. sub2.setGroupCheckable(1, true, false);
227.
228. }
229. }
230.
231.
232. // 重寫 onCreateOptionsMenu 用以創(chuàng)建選項(xiàng)菜單
233. @Override
234. public boolean onCreateOptionsMenu(Menu menu) {
235.
236. MenuItem menuItem = menu.add(0, 0, 0, "菜單111111111111111111111");
237.
238. // MenuItem.setIcon() - 設(shè)置菜單項(xiàng)的圖標(biāo)
239. // MenuItem.setTitleCondensed() - 菜單的簡標(biāo)題,如果指定了簡標(biāo)題的話,菜單項(xiàng)上的標(biāo)題將會以此簡標(biāo)題為準(zhǔn)
240. // MenuItem.setAlphabeticShortcut() - 設(shè)置選中此菜單項(xiàng)的快捷鍵
241. // 注:菜單項(xiàng)超過 6 個的話,第 6 個菜單將會變?yōu)? More 菜單,多余的菜單會在單擊 More 菜單之后顯示出來
242. menuItem.setIcon(R.drawable.icon01);
243. menuItem.setTitleCondensed("菜單1");
244. menuItem.setAlphabeticShortcut('a');
245.
246. menu.add(0, 1, 1, "菜單2").setIcon(R.drawable.icon02);
247. menu.add(0, 2, 2, "菜單3").setIcon(R.drawable.icon03);
248. menu.add(0, 3, 3, "菜單4");
249. menu.add(0, 4, 4, "菜單5");
250. menu.add(0, 5, 5, "菜單6");
251. menu.add(0, 6, 6, "菜單7").setIcon(R.drawable.icon04);
252. menu.add(0, 7, 7, "菜單8").setIcon(R.drawable.icon05);
253.
254. return true;
255. }
256.
257. // 重寫 onOptionsItemSelected 用以響應(yīng)選項(xiàng)菜單
258. @Override
259. public boolean onOptionsItemSelected(MenuItem item) {
260. super.onOptionsItemSelected(item);
261.
262. Toast.makeText(Main.this, "被單擊的菜單項(xiàng)為:" + String.valueOf(item.getItemId()), Toast.LENGTH_SHORT).show();
263.
264. return false;
265. }
266.}
android5.0鎖屏的下拉菜單:
1.下拉菜單是當(dāng)自己選中一個選項(xiàng)后,選項(xiàng)會向下延伸出具有其它選項(xiàng)的另一個選項(xiàng),這個功是可以關(guān)閉的。
2.待機(jī)情況下打開應(yīng)用程序,然后選擇設(shè)置打開。
3.然后打開顯示選項(xiàng),選擇“鎖屏和安全”打開。
4.接著就可以將下拉菜單前面的選項(xiàng)去掉,這樣鎖屏就不能下拉菜單了。
打開手機(jī)系統(tǒng)設(shè)置——鎖屏與安全,可以設(shè)置關(guān)閉下拉菜單。
下拉菜單是當(dāng)用戶選中一個選項(xiàng)后,該選單會向下延伸出具有其 他選項(xiàng)的另一個選單。下拉式選單通常應(yīng)用于把一些具有相同分類的功能放在同一個下拉式選單中,并把這個下拉式選單置于主選單的一個選項(xiàng)下。下拉菜單內(nèi)的項(xiàng) 目可以據(jù)需要設(shè)置為多選或單選,可以用來替代一組復(fù)選框(設(shè)置為多選)或單選框(設(shè)置為單選)。
利用鎖屏軟件來保護(hù)自己的手機(jī)隱私。但手機(jī)鎖屏與電腦鎖屏相仿,有兩種,一種是切斷屏幕電源,一種是利用軟件快速智能鎖屏。
網(wǎng)站題目:android下拉菜單,android下拉菜單欄怎么設(shè)置
文章轉(zhuǎn)載:http://chinadenli.net/article25/dsiesci.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、服務(wù)器托管、網(wǎng)站策劃、App設(shè)計、品牌網(wǎng)站建設(shè)、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)