2016-06-29 5 views

答えて

2

あなたは

public class CustomPopup extends PopupWindow { 
    Context mContext; 
    View rootView; 

    public CustomPopup(View rootView, Context mContext){ 
     super(mContext); 
     this.mContext = mContext; 
     this.rootView = rootView; 
     View customView = createCustomView(); 
     setContentView(customView); 
     setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 
     setSize(250, LayoutParams.MATCH_PARENT); 
    } 

    private View createCustomView(){ 
     LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View view = inflater.inflate(R.layout.custom_popup, null, false); 

     return view; 
    } 

    public void setSize(int width, int height){ 
     setWidth(width); 
     setHeight(height); 
    } 

} 

は、その後、あなたのSoftKeyboardクラス

CustomPopup popupWindow; 

public View onCreateInputView() { 
     final View root = getLayoutInflater().inflate(R.layout.input, null); 

     popupWindow = new CustomPopup(root, this); 

     return root; 
} 

これをでそれを使用するPopupWindow拡張するクラスを作成する必要がありますポップアップを表示する方法です。 mInputViewはキーボードビュー変数です

private void showPopup() { 
     int height = mInputView.getHeight(); 
     popupWindow.setSize(LayoutParams.MATCH_PARENT, height); 
     popupWindow.showAtLocation(mInputView.getRootView(), Gravity.BOTTOM, 0, 0); 
     final InputMethodManager mInputMethodManager = (InputMethodManager) getBaseContext() 
       .getSystemService(Context.INPUT_METHOD_SERVICE); 
     mInputMethodManager.showSoftInput(mInputView, 0); 
    } 
+0

回答ありがとうございます! –

関連する問題