1. 程式人生 > >安卓開發中遇到的一些小問題

安卓開發中遇到的一些小問題

ListView隱藏右側滑動欄,在xml不居中設定android:scrollbars="none"


ListView的Item中包含Button或ImageButton時,會優先獲取焦點,導致點選Item無效,需設定android:descendantFocusability="blocksDescendants"使Item優先獲得焦點


Android Studio中,隱式意圖啟動撥打電話,startActivity(intent)報錯,新增try{}catch(Exception e){},解決


在處理長按時,注意的細節是把onItemLongClick返回設定為true,否則長按是會執行setOnItemClickListener。


ListView中,關於id,如果position指向了headerView或footerView,那麼返回-1,否則,將返回在使用者view陣列的位置。也就是說id=position-headerView的個數,如果是footerView則id=-1;id從0開始。


全選Item時,在介面卡Adapter中建立一個集合用來儲存所選中的Item下標,建立四個方法(1、判斷是否存在,2、新增下標,3、刪除下標,4、清空下標),在onItemClickListener方法中呼叫這些方法來選中或清除對應Item。(全選則是遍歷資料集合,呼叫Adapter新增方法新增)


ListView點選Item時,點選時顏色變化,可以再ListView中設定listSelector屬性,呼叫select,用來實現

EditText點選後彈出輸入框,要想點選其他地方時輸入框消失,可以把EditText所在的父佈局設定android:clickable="true",android:focusable="true",android:focusableInTouchMode="true"這三個屬性,同時EditText設定setOnFocusChangeListener監聽事件,監聽焦點是否存在來判斷是否清除軟鍵盤

佈局檔案中switch控制元件,要注意textOn、textOff這兩個屬性會預設有文字,更換樣式背景thumb滑塊、track軌道,thumbTextPadding屬性可以設定滑塊寬度,switchMinWidth屬性可以設定軌道寬度(寬度設定需要thumbTextPadding、switchMinWidth搭配使用)

設定TextView文字不同顏色,首先SpannableString ss = new SpannableString("文字內容"),然後呼叫ss.setSpan(new ForegroundColorSpan(color), 初始下標, 結束下標, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);,最後TextView.setText(ss)。


popupWindow.showAsDropDown(parent, x, y);此方法以parent左下角為原點顯示,只有在parent的寬度比popupWindow的寬度大時x偏移才有效,x為正向右偏移,為負向左偏移,y為正向上偏移,為負向下偏移