我有一个具有EditText的Dialog。此对话框已输入并存在在style.xml中定义的动画
<style name="LocationDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowAnimationStyle">@style/LocationDialogAnimation</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
<style name="LocationDialogAnimation">
<item name="android:windowEnterAnimation">@anim/dialog_location_enter_anim</item>
<item name="android:windowExitAnimation">@anim/dialog_location_exit_anim</item>
</style>
我想在输入动画完成后打开键盘导致我当前的解决方案
locationDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
重叠动画,不等待动画首先完成。
我也试过
locationDialog.setOnShowListener(...);
答案 0 :(得分:1)
在代码中使用动画可以实现您的目标。你可以先在xml或代码中将EditText的焦点设置为android:focusable =“false”,当你输入动画结束时,你可以将requestFocus设置为true。
Animation enter= AnimationUtils.loadAnimation(context,R.anim.enter_anim);
enter.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
yourEditText.setFocusable(true);
yourEditText.requestFocus();
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
我希望它会对你有所帮助。