GVKun编程网logo

Android Studio editText去掉下划线的办法(editview去掉下划线)

9

此处将为大家介绍关于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去掉下划线)

Android Studio editText去掉下划线的办法(editview去掉下划线)

android:background="#00FFFFFF"

在xml中定义EditText中加上这句话把背景设置为透明即可的哈~

Shadownow 发布了3 篇原创文章 · 获赞 0 · 访问量 67 私信 关注

.setText(

.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 中进一步阅读。

enter image description here

但是,当模式已经改变时,带有 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 EditText android:textDirection

我想在任何时候都将EditText设置为LTR,我该怎么做?
android:textDirection似乎确实是答案,我不能让该项目使用该指令进行编译

解决方法

使用gravity为editText
android:gravity="right"

Android EditText Style.xml更改FOCUS EditText

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 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的相关知识,请在本站进行查询。

本文标签: