爲了使用底部導航欄樣式,偷懶直接使用FragmentTabHost隱藏tabcontent的形式添加底部導航圖標,但使用過程中,外接鍵盤在輸入內容,切換頁面再次輸入時,會出現輸入框不能獲取焦點,查詢後發現是FragmentTabHost控件搶奪而去。
FragmentTabHost繼承於TabHost,其外接鍵盤輸入異常問題,其實屬於同一個問題。
解決辦法可以重寫其onTouchModeChanged方法如下
public class CustomFragmentTabHost extends FragmentTabHost {
public CustomFragmentTabHost(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomFragmentTabHost(Context context) {
this(context, null);
}
/**
* 避免TabHost搶奪焦點,重寫其方法
*/
@Override
public void onTouchModeChanged(boolean isInTouchMode) {
//super.onTouchModeChanged(isInTouchMode);
}
}