我想要實現以下設計:帶有自定義佈局的對話框,以編程方式創建。它將包含一個EditText和一個Button。我想讓軟鍵盤在對話框出現時彈出,我希望對話框水平填充屏幕並將其置於鍵盤的正上方。全寬對話框,放在軟鍵盤上方
這裏是我做了什麼現在:
final AlertDialog obsDialog = new AlertDialog.Builder(ProdutoDetalheActivity.this).create();
final View obsLayout = View.inflate(getApplicationContext(), R.layout.observation_layout, null);
Button obsButton = (Button) obsLayout.findViewById(R.id.observation_button);
obsEdit = (EditText) obsLayout.findViewById(R.id.observation_edit);
obsButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
text.setText(String.valueOf(obsEdit.getText()));
obsDialog.dismiss();
}
});
obsDialog.setView(obsLayout);
obsDialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);
obsDialog.show();
obsEdit.requestFocus();
但是,這並不使對話全寬,也不叫軟鍵盤。我仍然想知道如何將對話框與鍵盤對齊。
在此先感謝您的幫助!
[編輯]我用下面的代碼所帶來的鍵盤了起來:
obsDialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);
obsDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
[編輯]以下是設計的PRINTSCREEN我想要實現:
這是甚至在這一點上的對話?你可以用'softInputMode =「adjustResize」'來使用透明的'Activity'。 – kcoppock 2014-09-25 15:55:31
我會嘗試。如果用戶在外面觸摸,我希望edittext解散。當它出現在背景上的活動應該「變暗」。 – 2014-09-25 17:09:36