【发布时间】:2017-10-14 10:11:14
【问题描述】:
查询说明:我正在使用带有透明主题的自定义进度对话框。这很好用。我面临的问题是,当我的键盘打开并且如果我显示自定义进度对话框然后它会强制关闭我的键盘。但是,如果我使用默认的进度对话框,那么它可以正常工作。
: 如您所见,即使出现进度对话框,键盘仍然存在。 我想在自定义进度对话框中实现相同的功能。
: 如您所见,当对话框显示时键盘会消失。感觉很乏味,每次用户都要打开键盘。
这是我的代码:
public class CustomProgressDialog extends Dialog {
private ImageView imageView;
private Context mContext;
public CustomProgressDialog(Context context) {
super(context, R.style.DialogTheme);
mContext = context;
getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
WindowManager.LayoutParams wlmp = getWindow().getAttributes();
wlmp.gravity = Gravity.CENTER_HORIZONTAL;
getWindow().setAttributes(wlmp);
setTitle(null);
setCancelable(true);
//setOnCancelListener(null);
LinearLayout layout = new LinearLayout(context);
layout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(200, 200);
imageView = new ImageView(context);
imageView.setBackgroundResource(R.drawable.custom_dialog);
layout.addView(imageView, params);
addContentView(layout, params);
}
@Override
public void show() {
super.show();
AnimationDrawable frameAnimation = (AnimationDrawable) imageView.getBackground();
frameAnimation.start();
}
@Override
public void dismiss() {
super.dismiss();
}
}
style.xml 中的对话框主题:
<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="colorAccent">@color/actionbar_gradient_endColor</item>
</style>
任何帮助将不胜感激。
<EditText android:id="@+id/et_search_category"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/imgClearSearch"
android:background="@drawable/rounded_rdt_txt"
android:hint="Search here..."
android:layout_centerVertical="true"
android:singleLine="true" />
【问题讨论】:
-
@YvetteColomb:我在清单中没有设置任何 IME 选项。对于 Edittext,这里是:
-
不用担心@YvetteColomb。感谢您宝贵的时间。 :)
-
试试这个:CustomProgressDialog 扩展 ProgressDialog
标签: android dialog android-softkeyboard progressdialog