Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 初級開發 >> Android平台下的焦點問題

Android平台下的焦點問題

編輯:初級開發

今天解決了一個Android平台下的焦點問題。發現其中關鍵問題的所在是android的touchMode。從JavaSwing平台過來的人,都會關注setFocusable()和requestFocus()方法,但是在Android的VIEw中還有另外的兩個個方法,setFocusableInTouchMode()和requestFocusFromTouch()方法。這個兩個方法就是解決android上的焦點獲取問題的關鍵。

同時在VIEw類中,還有一個isInTouchMode(),可以幫助我們在監聽Focuse事件時判斷是否執行click(). 代碼如下:
ImageButton.OnFocusChangeListener mFocusChangeListener = new ImageButton.OnFocusChangeListener(){   
       
    public void onFocusChange(VIEw v, boolean hasFocus) {   
        Log.d("FocuseChange", "Focuse has changed.");   
          if (hasFocus) {   
                   // 如果是touchmode就執行click,否則就會只選中。    
              v.setBackgroundDrawable(getResources().getDrawable(R.drawable.));   
              if (v.isInTouchMode()){   
                  ((ImageButton)v).performClick();   
              }    
          } else {   
              v.setBackgroundDrawable(getResources().getDrawable(R.));   
              v.getBackground().setAlpha(100);   
          }   
           
    }   
};
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved