语言

Menu
Sites
Language
Virtual Keyboard on input field in Web control (Native App)

I have a Native Application that contains a Web control. When the Web control displays a page that has a text input field, and focus is set to that field (by touch) nothing happens. When the field is touched again, however, the virtual keyboard is displayed in the bottom half of the screen, with a text field taking up the upper half of the screen, and having a Done button between the keyboard and the text field.

While this is functional, it is clunky and undesirable for password entry, as the text being entered is displayed without being obfuscated.

I have been looking around but have not, as of yet, figured out how to make this behave like a text input in the browser application. 

Any ideas are appreciated and welcomed. Thanks!

响应

5 回复
Chintan Gandhi

Hi Steve,

In case if you are using web controls then you can set the input style of the keypad with the following api

void Tizen::Web::Controls::WebSetting::SetInputStyle ( Tizen::Ui::Controls::InputStyle inputStyle )

 the input style that you can use here would be KEYPAD_STYLE_PASSWORD. Just check the below link. I am sure it will be of great help.

reference: https://developer.tizen.org/help/index.jsp?topic=%2Forg.tizen.native.apireference%2FclassTizen_1_1Web_1_1Controls_1_1WebSetting.html

 

thanks.

Steve Wagner

Excellent! Thanks so much, I will take a look this afternoon.

Thanks again!

r/Steve

Steve Wagner

I looked into this API call and it would help. The issue is I am unable to determine where to place this call. I have not been able to figure out why the keyboard is displayed full screen instead of only partially.

I found the IWebKeypadEventListener interface and implemented it, but none of the methods are called in my case. Further reseach seems to show that the edit fields need to be instantiated with the INPUT_STYLE_OVERLAY style set. However, these input fields are being created within the Web control contained on my Form.

How can I ensure they are created with this style and react accordingly in regards to the keyboard when given input focus?

Thanks!

Steve Wagner

I have also called the WebSetting::SetInputStyle method passing in INPUT_STYLE_OVERLAY:

    WebSetting* webSetting = new WebSetting();

    webSetting->SetInputStyle(INPUT_STYLE_OVERLAY);

    this->_webBrowser->SetWebKeypadEventListener(this->_webKeypadEventListener);
    this->_webBrowser->SetDownloadListener(this->_webDownloadListener);
    this->_webBrowser->SetLoadingListener(this->_pageLoadingListener);

    this->_webBrowser->LoadUrl(ResourceHelper::GetResourceString(L"IDS_HOME_URI"));

r/Steve

Steve Wagner

Okay. So I'm an idiot. Had to set the WebSettings on the Web control. Duh. Works a treat now!