當前位置:首頁 » 安卓系統 » android下拉

android下拉

發布時間: 2022-01-08 08:44:58

❶ Android之Button 和下拉菜單的結合

只要涉及到下拉列表等的 就要用到數組Array:
adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,countries);
spinner.setAdapter(adapter);//把你要顯示的列表信息附加到spinner中,

public void onClick(View v)//(View v)這個是什麼意思:你的單擊事件,里邊的view指你所單擊的View對象

arg0.setVisibility(View.VISIBLE);//設置屬性,可讀不可讀,可用不可用等;

你要實現在選擇下拉菜單中的內容時不顯示到Textview中,單擊Button後才顯示 你可以在選擇的監聽事件setOnItemSelectedListener中:
textview2.setText("你的血型是:"+countries[arg2]);//textview2顯示下拉列表內容 能不能選擇後不顯示在我點button後再在textview2中顯示出來
換成:新建的一個String類型比如str來保存這個信息
str="你的血型是:"+countries[arg2]
在OnClicklistener單擊事件的時候把它顯示出來唄:
public void onClick(View v)//(View v)這個是什麼意思
{
textview.setText("文本框中內容:"+edittext.getText().toString());
textview2.setText(str);
}

希望對你能有所幫助

❷ android怎麼實現下拉刷新

首先講一下實現原理。這里我們將採取的方案是使用組合View的方式,先自定義一個布局繼承自LinearLayout,然後在這個布局中加入下拉頭和ListView這兩個子元素,並讓這兩個子元素縱向排列。初始化的時候,讓下拉頭向上偏移出屏幕,這樣我們看到的就只有ListView了。然後對ListView的touch事件進行監聽,如果當前ListView已經滾動到頂部並且手指還在向下拉的話,那就將下拉頭顯示出來,鬆手後進行刷新操作,並將下拉頭隱藏。

❸ android 下拉列表

Android的下拉列表是用Spinner 這個類來實現的。
Spinner的使用(分別使用ArrayAdapter和自定義Adapter實現),使用ArrayAdapter進行適配數據:
1:首先定義一個布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/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:建立數據源,使用數組,這些數據將會在Spinner下來列表中進行顯示:
<?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中加入如下的代碼(使用了系統定義的下拉列表的布局文件,當然也可以自定義)
// 初始化控制項

mSpinner = (Spinner) findViewById(R.id.spinner1);
// 建立數據源
String[] mItems = getResources().getStringArray(R.array.spinnername);
// 建立Adapter並且綁定數據源
ArrayAdapter<String> _Adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, mItems);
//綁定 Adapter到控制項
mSpinner.setAdapter(_Adapter);

❹ 急需一個android中下拉抽屜的例子

下拉抽屜,你是說Android頂部下拉就出來東西的那個嗎?
如果是,那麼可以用GestureDetector中的onFlying完成。

❺ 如何打造Android自定義的下拉列表框控制項

實現方式:
1、水平布局一個TextView和一個ImageView(小黑箭頭)
2、實現點擊ImageView的單擊事件,彈出PopupWindow
3、PopupWindow中實現下拉列表
關鍵代碼示例:
1、布局

<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView/>
<ImageView />
</LinearLayout>
2、單擊事件

image.setBackgroundResource(R.drawable.gerendang_jiantou);
image.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//彈出popupwindow
}
});
3、pupupwindow相關代碼
ListView lv = new ListView(this);
adapter = new OptionsAdapter(context, datas); // 根據數據,設置下拉框顯示
list.setAdapter(adapter);

/**
* 兩種不同長度的下拉框,主要是為了適應屏幕的大小
*/
if (p_width > 0) {
pWindow = new PopupWindow(v, par.getWidth(), 150);
} else {
pWindow = new PopupWindow(v, par.getWidth(), 300);
}
pWindow.setFocusable(true); //能夠焦點獲得
pWindow.setBackgroundDrawable(new BitmapDrawable()); //設置背景
pWindow.setOutsideTouchable(true); //外部點擊關閉
pWindow.update(); //更新位置

❻ android activity 下拉通知欄的過程 調用那經歷那幾個狀態

當Android狀態欄完全下拉以後會執行Activity的以下幾個生命周期:
1.啟動Activity:系統會先調用onCreate方法,然後調用onStart方法,最後調用onResume,Activity進入運行狀態。
2.當前Activity被其他Activity覆蓋其上或被鎖屏:系統會調用onPause方法,暫停當前Activity的執行。
3.當前Activity由被覆蓋狀態回到前台或解鎖屏:系統會調用onResume方法,再次進入運行狀態。
4.當前Activity轉到新的Activity界面或按Home鍵回到主屏,自身退居後台:系統會先調用onPause方法,然後調用onStop方法,進入停滯狀態。
5.用戶後退回到此Activity:系統會先調用onRestart方法,然後調用onStart方法,最後調用onResume方法,再次進入運行狀態。
6.當前Activity處於被覆蓋狀態或者後台不可見狀態,即第2步和第4步,系統內存不足,殺死當前Activity,而後用戶退回當前Activity:再次調用onCreate方法、onStart方法、onResume方法,進入運行狀態。
7.用戶退出當前Activity:系統先調用onPause方法,然後調用onStop方法,最後調用onDestory方法,結束當前Activity。

❼ android edittext 點擊下拉

<Spinner android:id="@+id/province"
android:layout_width="fill_parent"
android:layout_height="45px"
android:layout_marginLeft="75px"
android:layout_marginRight="20px"
android:layout_marginTop="7px"
android:drawSelectorOnTop="true"
android:layout_alignParentRight="true"
/>
這是一個控制項實現的~~~

❽ android像這樣的下拉窗口怎麼實現

第一,在布局文件中添加一個Button,單擊Button,彈出菜單
第二,我們給Button添加一個單擊事件popupMenu,接下來,就在java文件中實現該方法。
第三,我們載入了一個menu文件「popupmenu」
第四,別忘了在onCreate方法中初始化Button。
第五,你就可以看一下效果。

❾ android 下拉滾動頁面怎麼實現

以下是我自己花功夫編寫了一種非常簡單的下拉刷新實現方案,現在拿出來和大家分享一下。相信在閱讀完本篇文章之後,大家都可以在自己的項目中一分鍾引入下拉刷新功能 最近項目中需要用到ListView下拉刷新的功能,一開始想圖省事,在網上直接找一個現成的,可是嘗試了網上多個版本的下拉刷新之後發現效果都不 怎麼理想。有些是因為功能不完整或有Bug,有些是因為使用起來太復雜,十全十美的還真沒找到。因此我也是放棄了在網上找現成代碼的想法,自己花功夫編寫 了一種非常簡單的下拉刷新實現方案,現在拿出來和大家分享一下。相信在閱讀完本篇文章之後,大家都可以在自己的項目中一分鍾引入下拉刷新功能。 首先講一下實現原理。這里我們將採取的方案是使用組合View的方式,先自定義一個布局繼承自LinearLayout,然後在這個布局中加入下拉 頭和ListView這兩個子元素,並讓這兩個子元素縱向排列。初始化的時候,讓下拉頭向上偏移出屏幕,這樣我們看到的就只有ListView了。然後對 ListView的touch事件進行監聽,如果當前ListView已經滾動到頂部並且手指還在向下拉的話,那就將下拉頭顯示出來,鬆手後進行刷新操 作,並將下拉頭隱藏。原理示意圖如下: 那我們現在就來動手實現一下,新建一個項目起名叫PullToRefreshTest,先在項目中定義一個下拉頭的布局文件pull_to_refresh/apk/res/android" xmlns:tools="schemas/tools" android:id="@+id/pull_to_refresh_head" android:layout_width="fill_parent" android:layout_height="60dip" > <LinearLayout android:layout_width="200dip" android:layout_height="60dip" android:layout_centerInParent="true" android:orientation="horizontal" > <RelativeLayout android:layout_width="0dip" android:layout_height="60dip" android:layout_weight="3" > <ImageView android:id="@+id/arrow" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@drawable/arrow" /> <ProgressBar android:id="@+id/progress_bar" android:layout_width="30dip" android:layout_height="30dip" android:layout_centerInParent="true" android:visibility="gone" /> </RelativeLayout> <LinearLayout android:layout_width="0dip" android:layout_height="60dip" android:layout_weight="12" android:orientation="vertical" > <TextView android:id="@+id/description" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" android:gravity="center_horizontalbottom" android:text="@string/pull_to_refresh" /> <TextView android:id="@+id/updated_at" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" android:gravity="center_horizontaltop" android:text="@string/updated_at" /> </LinearLayout> </LinearLayout> </RelativeLayout> 在這個布局中,我們包含了一個下拉指示箭頭,一個下拉狀態文字提示,和一個上次更新的時間。當然,還有一個隱藏的旋轉進度條,只有正在刷新的時候我們才會將它顯示出來。 布局中所有引用的字元串我們都放在stringsmit(); new HideHeaderTask()/apk/res/android" xmlns:tools="schemas/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <com.example.pulltorefreshtest.RefreshableView android:id="@+id/refreshable_view" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ListView android:id="@+id/list_view" android:layout_width="fill_parent" android:layout_height="fill_parent" > </ListView> </com.example.pulltorefreshtest.RefreshableView> </RelativeLayout> 可以看到,我們在自定義的RefreshableView中加入了一個ListView,這就意味著給這個ListView加入了下拉刷新的功能,就是這么簡單! 然後我們再來看一下程序的主Activity,打開或新建MainActivity,加入如下代碼: 復制代碼 代碼如下: public class MainActivity extends Activity { RefreshableView refreshableView; ListView listView; ArrayAdapter<String> adapter; String[] items = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); refreshableView = (RefreshableView) findViewById(R.id.refreshable_view); listView = (ListView) findViewById(R.id.list_view); adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items); listView.setAdapter(adapter); refreshableView.setOnRefreshListener(new PullToRefreshListener() { @Override public void onRefresh() { try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } refreshableView.finishRefreshing(); } }, 0); } } 可 以看到,我們通過調用RefreshableView的setOnRefreshListener方法注冊了一個監聽器,當ListView正在刷新時就 會回調監聽器的onRefresh方法,刷新的具體邏輯就在這里處理。而且這個方法已經自動開啟了線程,可以直接在onRefresh方法中進行耗時操 作,比如向伺服器請求最新數據等,在這里我就簡單讓線程睡眠3秒鍾。另外在onRefresh方法的最後,一定要調用RefreshableView中的 finishRefreshing方法,這個方法是用來通知RefreshableView刷新結束了,不然我們的ListView將一直處於正在刷新的 狀態。 不知道大家有沒有注意到,setOnRefreshListener這個方法其實是有兩個參數的,我們剛剛也是傳入了一個不起眼的 0。那這第二個參數是用來做什麼的呢?由於RefreshableView比較智能,它會自動幫我們記錄上次刷新完成的時間,然後下拉的時候會在下拉頭中 顯示距上次刷新已過了多久。這是一個非常好用的功能,讓我們不用再自己手動去記錄和計算時間了,但是卻存在一個問題。如果當前我們的項目中有三個地方都使 用到了下拉刷新的功能,現在在一處進行了刷新,其它兩處的時間也都會跟著改變!因為刷新完成的時間是記錄在配置文件中的,由於在一處刷新更改了配置文件, 導致在其它兩處讀取到的配置文件時間已經是更改過的了。那解決方案是什麼?就是每個用到下拉刷新的地方,給setOnRefreshListener方法 的第二個參數中傳入不同的id就行了。這樣各處的上次刷新完成時間都是單獨記錄的,相互之間就不會再有影響。 好了,全部的代碼都在這里了,讓我們來運行一下,看看效果吧。 效果看起來還是非常不錯的。我們最後再來總結一下,在項目中引入ListView下拉刷新功能只需三步: 1. 在Activity的布局文件中加入自定義的RefreshableView,並讓ListView包含在其中。 2. 在Activity中調用RefreshableView的setOnRefreshListener方法注冊回調介面。 3. 在onRefresh方法的最後,記得調用RefreshableView的finishRefreshing方法,通知刷新結束。 從此以後,在項目的任何地方,一分鍾引入下拉刷新功能妥妥的。 好了,今天的講解到此結束,有疑問的朋友請在下面留言。 源碼下載,請點擊這里

❿ 我想在android中設置兩個下拉菜單

android 下拉菜單
1.<?xml version="1.0" encoding="utf-8"?>
12.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/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、上下文菜單,選項菜單,子菜單
124.res/layout/main.xml
125.
126.代碼
127.<?xml version="1.0" encoding="utf-8"?>
128.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/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.// 演示兩種菜單的實現方式:上下文菜單(通過在某元素上長按,來呼出菜單)和選項菜單(通過按手機上的菜單按鈕,來呼出菜單)
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. // 具體呼出的菜單內容需要重寫 onCreateContextMenu 來創建
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 用以創建上下文菜單
187. // 重寫 onContextItemSelected 用以響應上下文菜單
188. @Override
189. public void onCreateContextMenu(ContextMenu menu, View v,
190. ContextMenuInfo menuInfo) {
191. super.onCreateContextMenu(menu, v, menuInfo);
192.
193. // 創建 R.id.txt1 的上下文菜單
194. if (v == (TextView) this.findViewById(R.id.txt1)) {
195.
196. // ContextMenu.setIcon() - 設置菜單的圖標
197. // ContextMenu.setHeaderTitle() - 設置菜單的標題
198. menu.setHeaderIcon(R.drawable.icon01);
199. menu.setHeaderTitle("我是菜單");
200.
201. // 用 ContextMenu.add() 來增加菜單項,返回值為 MenuItem
202. // 第一個參數:組ID
203. // 第二個參數:菜單項ID
204. // 第三個參數:順序號
205. // 第四個參數:菜單項上顯示的內容
206. menu.add(1, 0, 0, "菜單1");
207.
208. // MenuItem - 新增菜單項後的返回類型,針對菜單項的其他設置在此對象上操作
209. menu.add(1, 1, 1, "菜單2").setCheckable(true);
210.
211. }
212. // 創建 R.id.txt2 的上下文菜單(多級上下文菜單)
213. else if (v == (TextView) this.findViewById(R.id.txt2)) {
214.
215. // ContextMenu.addSubMenu("菜單名稱") - 用來添加子菜單。子菜單其實就是一個特殊的菜單
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 用以創建選項菜單
233. @Override
234. public boolean onCreateOptionsMenu(Menu menu) {
235.
236. MenuItem menuItem = menu.add(0, 0, 0, "菜單111111111111111111111");
237.
238. // MenuItem.setIcon() - 設置菜單項的圖標
239. // MenuItem.setTitleCondensed() - 菜單的簡標題,如果指定了簡標題的話,菜單項上的標題將會以此簡標題為准
240. // MenuItem.setAlphabeticShortcut() - 設置選中此菜單項的快捷鍵
241. // 註:菜單項超過 6 個的話,第 6 個菜單將會變為 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 用以響應選項菜單
258. @Override
259. public boolean onOptionsItemSelected(MenuItem item) {
260. super.onOptionsItemSelected(item);
261.
262. Toast.makeText(Main.this, "被單擊的菜單項為:" + String.valueOf(item.getItemId()), Toast.LENGTH_SHORT).show();
263.
264. return false;
265. }
266.}

熱點內容
華為存儲少 發布:2024-12-29 08:08:43 瀏覽:287
php獲取文件創建時間 發布:2024-12-29 08:06:27 瀏覽:921
為什麼淘寶緩存是0 發布:2024-12-29 08:01:00 瀏覽:705
pythonstring轉json 發布:2024-12-29 07:55:15 瀏覽:491
存儲卡128g 發布:2024-12-29 07:40:31 瀏覽:325
阿里雲伺服器綁定ip 發布:2024-12-29 07:18:00 瀏覽:58
手機存儲卡SD卡 發布:2024-12-29 07:16:26 瀏覽:220
kx驅動源碼 發布:2024-12-29 07:16:17 瀏覽:163
通達信完全加密公式 發布:2024-12-29 07:10:36 瀏覽:899
河南電子發票伺服器地址和埠 發布:2024-12-29 07:07:19 瀏覽:938