在EditText字段中输入时,“完成”按钮不再可见

问题描述 投票:0回答:1

我的应用程序中有一个EditText字段,用户可以在其中输入数据。应用程序以编程方式处于全屏模式。问题是,在某些手机(Honor P Smart)上,“完成”按钮不再可见,正如您在图片上看到的那样。

这个问题出现在一个星期前,电话(Honor P Smart)收到更新后(固件fig-lx1 8.0.0.140(c02))..在更新之前,“完成”按钮可见。我应该提一下,SwiftKey不是问题的根源,因为我试过使用SwiftKey的其他手机,它运行得很好。

另外:为什么第二个是全屏而第一个不是?我怎么强制全屏?

以下是EditText字段的xml代码:

<EditText 
    android:id="@+id/label" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginEnd="@dimen/margin_left" 
    android:layout_marginStart="@dimen/margin_left" 
    android:cursorVisible="false" 
    android:imeActionLabel="@string/done" 
    android:hint="@string/something" 
    android:imeOptions="actionDone" 
    android:inputType="textVisiblePassword" 
    android:lineSpacingExtra="6sp" 
    android:textColor="@color/color_x" 
    android:textSize="32sp" />

我按以下方式设置了监听器:

view.enar_button_label.setOnEditorActionListener { textView, actionID, keyEvent ->
    if (actionID == EditorInfo.IME_ACTION_DONE) {
        // hiding keyboard, because for some reason, it does not hide automatically
        (activity!!.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager).hideSoftInputFromWindow(view.enar_button_label.windowToken, 0)
        // soome stuff...
        (activity as MainActivity).setImmersiveMode()
        return@setOnEditorActionListener true
    }
    return@setOnEditorActionListener false
}

Honor P smart

Other phones

任何帮助,将不胜感激!

android android-layout android-edittext swift-keyboard
1个回答
0
投票

试试这个:

XML code:


           <EditText
            android:id="@+id/login_email"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/margin_30"
            android:layout_marginRight="@dimen/margin_30"
            android:layout_marginBottom="@dimen/margin_20"
            android:gravity="center"
            android:hint="@string/username"
            android:maxLength="40"
            android:padding="@dimen/padding_10"
            android:imeOptions="actionDone"
            android:singleLine="true" />

在EditText中添加它

机器人:imeOptions = “actionDone”

java代码:


     emailedit = (EditText) findViewById(R.id.login_email);

     emailedit.setImeOptions(EditorInfo.IME_ACTION_DONE);

在代码中设置行

emailedit.setImeOptions(EditorInfo.IME_ACTION_DONE);

我已经检查过多个设备为我工作了。

我希望它可以帮助你

© www.soinside.com 2019 - 2024. All rights reserved.