TextEdit带光标但没有键盘

时间:2016-04-01 12:59:52

标签: android android-layout

我想用TextEdit制作光标移动和可选文本但没有键盘(如计算器应用程序)。 我尝试了一种解决方案,它在出现后立即隐藏键盘。但这确实很慢,它在消失之前显示了一会儿。

有没有更好的解决方案(android 5.0.1及以上版本)?

android:windowSoftInputMode="stateHidden"(清单中的活动代码)无效

EditText et = (EditText) findViewById(R.id.editText);
et.setInputType(InputType.TYPE_NULL);
et.setCursorVisible(true);
et.setTextIsSelectable(true);

或者

提前致谢

3 个答案:

答案 0 :(得分:1)

尝试在您的活动中添加以下代码。

android:windowSoftInputMode="stateHidden"

喜欢,

<activity android:name=".MainActivity" 
          android:windowSoftInputMode="stateHidden" />

修改

<FrameLayout
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:background="@android:color/transparent"
    android:focusable="true"
    android:focusableInTouchMode="true">
</FrameLayout>

<EditText
    android:id="@+id/searchAutoCompleteTextView_feed"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:inputType="text" />

使用FrameLayout进行请求关注。这不会将焦点添加到EditText

答案 1 :(得分:1)

我使用此方法隐藏我的Utils类中的键盘:

<?php
// Include the Twilio PHP library
require 'twilio-php-master/Services/Twilio.php';

// Twilio REST API version
$version = "2010-04-01";

// Set our Account SID and AuthToken
$sid = 'Axxxxxxxxxxxxxxxxxxffa58';
$token = 'f878xxxxxxxxxxxxxxxeb05';

// A phone number you have previously validated with Twilio
$phonenumber = '+19xxxxxxxx6';

// Instantiate a new Twilio Rest Client
$client = new Services_Twilio($sid, $token, $version);

try {
    // Initiate a new outbound call
    $call = $client->account->calls->create(
        $phonenumber, // The number of the phone initiating the call
        '+91xxxxxxxx7', // The number of the phone receiving call
        'http://demo.twilio.com/welcome/voice' // The URL Twilio will request when the call is answered
    );
    echo 'Started call: ' . $call->sid;
} catch (Exception $e) {
    echo 'Error: ' . $e->getMessage();
}
?>

答案 2 :(得分:1)

添加

android:windowSoftInputMode="stateAlwaysHidden"

在您的活动的清单文件中。