此处将为大家介绍关于AndroidStudioeditText去掉下划线的办法的详细内容,并且为您解答有关editview去掉下划线的相关问题,此外,我们还将为您介绍关于.setText("text"
此处将为大家介绍关于Android Studio editText去掉下划线的办法的详细内容,并且为您解答有关editview去掉下划线的相关问题,此外,我们还将为您介绍关于.setText(" text ") 在 android studio 中无法正常工作、android EditText android:textDirection、Android EditText Style.xml更改FOCUS EditText、Android Studio 3.1 EditText StackOverflowError的有用信息。
本文目录一览:- Android Studio editText去掉下划线的办法(editview去掉下划线)
- .setText(" text ") 在 android studio 中无法正常工作
- android EditText android:textDirection
- Android EditText Style.xml更改FOCUS EditText
- Android Studio 3.1 EditText StackOverflowError
Android Studio editText去掉下划线的办法(editview去掉下划线)
android:background="#00FFFFFF"
在xml中定义EditText中加上这句话把背景设置为透明即可的哈~
.setText(" text ") 在 android studio 中无法正常工作
我认为应用程序生命周期会在主题更改时重置。您可以使用生命周期感知状态变量来跟踪主题状态。
您可以阅读更多相关信息here。
Boolean isLightThemeEnabled = false;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
theme = savedInstanceState.getString("THEME_KEY");
}
// YOUR USUAL CODE
// MAKE SURE TO UPDATE THE THEME STATE VARIABLE
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
if(!isLightThemeEnabled) {
darkmode.setText("enable light mode");
}
else {
.....
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
outState.putString("THEME_KEY",isLightThemeEnabled);
super.onSaveInstanceState(outState);
}
,
我对此的看法:
您没有显示将其更改为 Light 模式,我相信这会反映相同的行为。
当您使用 setDefaultNightMode()
更改默认模式时会发生什么,它会在执行此行的那一刻重新创建活动,这意味着您的代码在更改时永远不会到达第二行 setText()
默认模式如下图所示。您可以在 official docs 中进一步阅读。
但是,当模式已经改变时,带有 setDefaultNightMode()
的第一行什么都不做,因为模式已经改变,这导致第二次改变文本,这意味着改变文本,要么应该是一种回调机制,或者您必须在更改模式之前更改文本。
此外,您可以在活动重新启动和创建时获取当前模式,并根据当前模式设置文本,这绝对是一种可行的方式。
因此,要检查活动创建或娱乐的模式,您可以这样做:
int currentNightMode = getResources().getConfiguration().uiMode
& Configuration.UI_MODE_NIGHT_MASK
when(currentNightMode) {
Configuration.UI_MODE_NIGHT_NO ->
// Night mode is not active,we're in day time
Configuration.UI_MODE_NIGHT_YES ->
// Night mode is active,we're at night!
Configuration.UI_MODE_NIGHT_UNDEFINED ->
// We don't know what mode we're in,assume notnight
}
并根据上述情况设置按钮的文本。
你的回答让我读到了我也想实现的这个,我找到了一篇很好的文章,从中引用了代码,在这里阅读 - DayNight — Adding a dark theme to your app
android EditText android:textDirection
android:textDirection似乎确实是答案,我不能让该项目使用该指令进行编译
解决方法
android:gravity="right"
Android EditText Style.xml更改FOCUS EditText
下午好,
伙计们,我现在为所有字段style.xml EditText做了一个样式文件,当该字段获得焦点时,我想更改样式.怎么办
解决方法:
您必须为编辑文本的每种状态定义可绘制对象.您在drawables文件夹中创建一个xml文件,该文件定义了编辑文本的所有状态drawable. XML文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@[package:]drawable/drawable_resource"
android:state_pressed=["true" | "false"]
android:state_focused=["true" | "false"]
android:state_hovered=["true" | "false"]
android:state_selected=["true" | "false"]
android:state_checkable=["true" | "false"]
android:state_checked=["true" | "false"]
android:state_enabled=["true" | "false"]
android:state_activated=["true" | "false"]
android:state_window_focused=["true" | "false"] />
</selector>
您为要指定的每个可绘制状态制作了一项.因此,对于state_focused的可绘制对象,您只需执行以下操作:
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@drawable/myFocusedEditText"
android:state_focused="true"/>
<item
android:drawable="@drawable/myEnabledEditText"
android:state_enabled="true"/>
</selector>
将此XML文件命名为custom_edit_text.xml,确保它位于drawables文件夹中.
然后,您要做的就是在styles.xml中定义
<style name="my_edit_text">
<item name="android:drawable">@drawable/custom_edit_text</item>
</style>
祝好运!
Android Studio 3.1 EditText StackOverflowError
更新到Android Studio 3.1后,当EditText处于焦点时我面临异常
E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 18938
java.lang.StackOverflowError: stack size 8MB
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
知道如何解决这个问题吗?
更新:
经过一些研究后,我发现StackOverflowError出现了不同的堆栈跟踪和简单的EditText:
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"/>
当我尝试输入任何符号时,我得到:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 21122
java.lang.StackOverflowError: stack size 8MB
at android.view.inputmethod.InputConnectionWrapper.beginBatchEdit(InputConnectionWrapper.java:106)
当我按下时:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 21280
java.lang.StackOverflowError: stack size 8MB
at android.view.inputmethod.InputConnectionWrapper.finishComposingText(InputConnectionWrapper.java:78)
甚至在WebView中输入文本也会导致此错误
在AS 3.0 EditText中工作正常
解决方法:
正如@evi所指出的,有a bug in advanced profiling.
暂时禁用它(编辑配置设置 – >性能分析 – >启用高级性能分析)可防止EditText崩溃
更新:
修复于Android Studio 3.1.1发布
高级分析再次可用!
今天的关于Android Studio editText去掉下划线的办法和editview去掉下划线的分享已经结束,谢谢您的关注,如果想了解更多关于.setText(" text ") 在 android studio 中无法正常工作、android EditText android:textDirection、Android EditText Style.xml更改FOCUS EditText、Android Studio 3.1 EditText StackOverflowError的相关知识,请在本站进行查询。
本文标签: