android 输入法全屏,android 输入法不全屏

这篇博客探讨了如何防止输入法在小分辨率设备上显示为全屏。通过在EditText中添加特定属性`android:imeOptions`并设置`flagNoExtractUi|flagNoFullscreen`,可以避免输入法弹出时覆盖整个屏幕。此外,还展示了修改`InputMethodService`源码以强制不显示全屏提取UI的方法,但这种方法被标记为不建议使用。
摘要由CSDN通过智能技术生成

在小分辨率时, 弹出输入法会显示全屏,

要使输入法不全屏, 要么给EditText添加一属性:

如:

packages/apps/Browser/res/layout/title_bar_nav.xml

android:id="@+id/url"

android:focusable="true"

android:layout_width="0dip"

android:layout_weight="1.0"

android:layout_height="match_parent"

android:fadingEdge="horizontal"

android:fadingEdgeLength="24dip"

android:textAppearance="?android:attr/textAppearanceMedium"

android:hint="@string/search_hint"

android:singleLine="true"

android:ellipsize="end"

android:lines="1"

android:scrollHorizontally="true"

android:inputType="textUri"

android:imeOptions="actionGo|flagNoExtractUi|flagNoFullscreen"

style="@style/Suggestions"

android:background="@null" />

android:imeOptions中的值起了关键作用,

flagNoExtractUi

第二种做法比较暴力, 不建议.

make not show extractUI when show inputmethod:

--- a/frameworks/base/core/java/android/inputmethodservice/InputMethodService.java

+++ b/frameworks/base/core/java/android/inputmethodservice/InputMethodService.java

@@ -2182,7 +2182,7 @@ public class InputMethodService extends AbstractInputMethodService {

return;

}

- setExtractViewShown(true);

+ setExtractViewShown(false && true);//AnsonCode 2013.12.11

}

/**

CODE:

public void onUpdateExtractingVisibility(EditorInfo ei) {

if (ei.inputType == InputType.TYPE_NULL ||

(ei.imeOptions&EditorInfo.IME_FLAG_NO_EXTRACT_UI) != 0) {

// No reason to show extract UI!

setExtractViewShown(false);

return;

}

setExtractViewShown(false && true);//AnsonCode 2013.12.11

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值