顯示Android鍵盤(上推效果):
final View view = getWindow().peekDecorView(); if(view != null && view.getWindowToken()!=null){ InputMethodManager imm =(InputMethodManager) getSystemService (INPUT_METHOD_SERVICE); imm.toggleSoftInputFromWindow(view.getWindowToken(),0,0); }
隱藏Android鍵盤(下收效果):
final View view = getWindow().peekDecorView(); if(view != null && view.getWindowToken()!=null){ InputMethodManager imm =(InputMethodManager) getSystemService (INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(view.getWindowToken(),0); }
ImagButton & ImagView 背景透明 (layout Xml)
android:background="@null"
取消ListView點擊時的預設背景色:
android:listSelector="#00000000"
String 轉成 String[] (Split)注意事項:
參考網站1
1.如果有用到 "." 或者是 "|" ,請改為 "\\." 或者 "\\|" ,".|"為作用符號。
2.如果有多個符號分割 "abc @ 123 & 中文",則可以用"|做分割"
String str = "abc@123&chinese"; String[] strAry = str.split("@|&"); // [abc,123,chinese]
PNG圖檔在行動裝置失真解決方式:
在 onCreat()中,增加以下程式碼(將預設顏色格式,換成帶透明32位元格式)
getWindow().setFormat(PixelFormat.RGBA_8888);
Invalidate和postInvalidate:
Invalidate = UI線程自身中使用
postInvalidate = 後者在非UI線程中使用。
TextView限制行數,以及過長使用...表示
android:maxLines="2" android:ellipsize="end"
限制函數為單一執行(參考網站)
synchronized public void method1() { ... }
//---------------------------------------------------------------------------------------------
遞回掃描元件 from id:
private View getViewById(ViewGroup viewGroup ,int id ){ View getView = null; for (int i = 0 ; i<viewGroup.getChildCount() ; i++){ if (viewGroup.getChildAt(i) instanceof LinearLayout || viewGroup.getChildAt(i) instanceof RelativeLayout || viewGroup.getChildAt(i) instanceof AbsoluteLayout || viewGroup.getChildAt(i) instanceof ListView ){ if (((ViewGroup)viewGroup.getChildAt(i)).findViewById(id)==null){ getView = getViewById(((ViewGroup)viewGroup.getChildAt(i)),id); }else{ getView = ((ViewGroup)viewGroup.getChildAt(i)).findViewById(id); } }else{ int getID = viewGroup.getChildAt(i).getId() ; Log.println(Log.DEBUG, TAG, "getID:"+getID+"/"+id); if (getID == id){ getView = viewGroup.getChildAt(i); } } } return getView; }
原先以為 Activity 加入Fragment後,查詢元件要用遞回去查子元件,或是指定Fragment.findViewbyID。
後來發現並不用那麼麻煩,只要當前畫面上有出現的元件,就可以直接用Activity去findViewByid。
這遞回就留著改變狀態或初始化用。
沒有留言:
張貼留言