skv*_*skv 11 android mode fullscreen android-edittext
我目前正在开发一款带有三星Galaxy Tab 2的应用程序作为我的设备.
我在XML中的代码是:
<EditText
android:id="@+id/analysis_text"
style="@style/icon_text"
android:imeOptions="actionDone"
android:inputType="textMultiLine"
android:onClick="onBtnClicked"
/>
Run Code Online (Sandbox Code Playgroud)
执行此代码时,仅在某些情况下会自动触发全屏数据输入模式(提取模式).
我希望我的用户在编辑此控件中的文本时获得完整的数据输入屏幕,无论屏幕或控件的位置如何.
这个问题的另一个改述:无论内容是什么,如何在我的活动中强制使用EditText框的全屏数据输入模式?
我解决了这个问题,并未真正解决,但找到了有效的解决方法.
解决方法是我设计了一个文本编辑器(看起来类似于全屏用户界面),并且点击其中的每个EditBox用户界面都会触发新的UI活动(startActivityForResult()这样一旦完成它们,控制权将被交还给调用活动)完成编辑后,文本将被传回主屏幕.
我还确保那些传输控件的盒子不会聚焦,以便他们立即将控制转移到新的UI.
通过这种方式,我已经能够实现取消按钮,现在实际上允许用户返回而不保存他意外发生的更改.
我对新想法持开放态度,但这对我有用.
代码Activity:
public void onBtnClicked(View v) {
EditText current_text_box = (EditText) v;
Intent intent = new Intent(ObservationActivity.this,
TexteditorActivity.class);
intent.putExtra("start_text", current_text_box.getText().toString());
intent.putExtra("start_position", current_text_box.getSelectionStart());
startActivityForResult(intent, v.getId());
}
Run Code Online (Sandbox Code Playgroud)
XML代码:
<EditText
android:id="@+id/observation_text"
style="@style/icon_text"
android:focusable="false"
android:imeOptions="flagNoExtractUi"
android:inputType="textMultiLine"
android:onClick="onBtnClicked" >
</EditText>
Run Code Online (Sandbox Code Playgroud)
要创建我使用代码的全屏UI,你可以使用任何类似的(http://android-richtexteditor.googlecode.com/)
| 归档时间: |
|
| 查看次数: |
8791 次 |
| 最近记录: |