安卓开发 Android Cookie

Android 安卓是最开放的手机操作系统,谷歌安卓APP开发和安卓市场的相关话题

在android中,EditText在AlertDialog里展开得太慢了

简化一个更复杂的问题。 我有AlertDialog这个观点dialog.xml(我可能是错的,这个问题与AlertDialog无关,但通常意见): <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> // <ImageView 48dp x 48dp/> ImageView for profile photo <EditText android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:layout_gravity="top" android:maxLines="5" android:inputType="textMultiLine" android:scrollbars="vertical" android:scrollHorizontally="false"/> // <ImageView 48dp x 48dp> ImageView for a send button. </LinearLayout> 我需要将整个对话框放在键盘上方的底部,以便与聊天程序的方式类似。 我需要它作为浮动对话框,因为它不绑定到父视图中的任何一个地方。 我这样做(在客户端代码)来实现这一点: dialog.show(); // above dialog Window window dialog.getWindow(); window.setGravity(Gravity.BOTTOM); window.setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 现在,当我input时,编辑字段正确地扩展到5行(从下到上)。 但如果input太快(按Enter键快速创build新行),则对话框展开animation(高度向下增加)比对话框移动animation慢。 这会导致对话框出现在空中悬浮1-2秒,其下边框和键盘之间有一点间隙。 […]