我有一个活动(不管是Act.A),它开始了另一个活动(不管是Act.B),它浮在Act.A之上,设置了以下样式:
在Act.B的onCreate(savedInstanceState)中:
requestWindowFeature(Window.FEATURE_NO_TITLE);
在styles.xml中:
<style name="Theme.AppCompat.Light.NoTitle" parent="@style/Theme.AppCompat.Light">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:backgroundDimEnabled">true</item>
</style>
在Act.B中,有一个包含EditText的片段。在片段的onActivityCreated中,我使用以下代码行显示软键盘:
edittext.requestFocus();
InputMethodManager inputMethodManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(edittext, 0);
这是我的EditText
的xml <EditText
android:id="@+id/phone_number"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@null"
android:focusable="true"
android:focusableInTouchMode="true"
android:fontFamily="fonts/avenir-light.ttf"
android:hint="@string/sms_send_code_number_hint"
android:imeOptions="actionDone"
android:inputType="phone"
android:maxLines="1"
android:padding="5dp"
android:singleLine="true"
android:textColorHint="@color/sms_verification_edittext_grey"
android:textSize="16sp" />
显示软键盘,光标位于edittext内。然而,在按下软键盘上的按键时,edittext不会立即更新。只有在我按下后退按钮关闭软键盘后,才能使用正确的文本更新edittext。
我还注意到,当显示键盘时,片段中的其他UI不会立即更新。然而,当我关闭软键盘时,UI会更新。
任何提示都将受到高度赞赏。 thx提前。
答案 0 :(得分:0)
经过进一步调查,我发现它与上述代码无关。
问题是由于自定义linearLayout用于自定义包含edittext的边缘周围的圆角。因此,在我实现了另一种绘制圆角的方法之后,它工作正常。