android長按listview
① 為什麼 Android 的應用上較少左(右)劃刪除,大多是長按刪除
Android 應用少採用向左向右滑動刪除,大多數為長按刪除的原因如下:
向左向右滑動,需要給每個listview的item單獨的加上很多代碼來控制顯示和隱藏文字,更容易出現bug。
長按刪除這一操作,是從android系統推出以來就有的功能,便於用戶操作,積累了操作習慣。
Android點擊事件分為點擊事件和長按事件,兩個事件可以單獨進行相應的,底層就是識別接觸點,回調執行相應的業務邏輯。
② android微信的聊天記錄長按某聊天彈出的頁面是怎樣實現的
Android中應該是用ListView來實現聊天記錄的,長按某個記錄後,如果設置了偵聽器:
setOnItemLongClickListener(OnItemLongClickListener listener);
則listener中的方法: boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) 將被調用,你可以實現這個方法,在其中創建你想要的對話框。
全屏對話框可以這樣實現:
1 如果你請求activity去創建,則showDialog(YOUR_DIALOG_ID);
然後在activity中的
@OverrideprotectedDialog onCreateDialog(int id){//all other dialog stuff (which dialog to display)//this line is what you need:
dialog.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN,LayoutParams.FLAG_FULLSCREEN);return dialog;
}
2 如果直接創建,則調用:Dialog dialog=newDialog(this,R.style.Theme_Dark_NoTitleBar_FullScreen);
不知道有沒有說清楚。
③ Android 怎麼獲取所有正在運行的應用程序
在framework中想添加這個功能,所以寫了個appliction來實現一下獲取正在運行的應用程序: 還是先看圖吧: 這個app主要是簡單的實現了獲取非系統的應用程序和一些常用的系統應用程序,顯示在一個listview中,並添加了點擊(回復到你打開的界面)和長按事件(關閉應用程序)。 看看代碼吧: 直接貼出來再加上注釋吧(直接寫在一個文件里): package andorid/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:layout_width="40dip" android:layout_height="40dip" /> <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textStyle="bold" /> <TextView android:id="@+id/info" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </LinearLayout> main: <?xml version="1/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:id="@+id/list_view" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" ></ListView> </LinearLayout> 在manifest文件中要加以個許可權: <uses-permission android:name="android.permission.RESTART_PACKAGES" /> 主要是前面的am.killBackgroundProcesses(packageName);方法要這個許可權。
④ Android listview長按拖動,背景變黑,怎麼處理
其實這個問題發生的原因在於ListView存在緩存顏色機制,因此我們可以通過設定緩存顏色為透明的方法來解決這個問題。
A、通過布局屬性來設定(ListView的屬性中直接定義)
android:cacheColorHint=」#00000000″
B、在代碼中直接設定
listView.setCacheColorHint(Color.TRANSPARENT);
這樣就可以解決黑色出現的問題了。