小编App*_*ide的帖子

android TextInputLayout在将error设置为null后更改EditText样式

我第一次使用新的Android的小部件TextInputLayout,它非常好但我使用setError方法遇到了一些问题

这是我的xml

<android.support.design.widget.TextInputLayout
    android:id="@+id/userData_txtNameWrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:textColorHint="@color/light_gray"
    app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
    <EditText
        android:id="@+id/userData_txtName"
        style="@style/bold_textbox_style"
        android:layout_width="match_parent"
        android:layout_height="@dimen/textinut_height"
        android:layout_margin="5dp"
        android:hint="name"
        android:imeOptions="actionNext"
        android:inputType="text"
        android:paddingTop="10dp"
        android:textSize="@dimen/medium_text"/>
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

怎么了:

我跑的时候

setError("error message") 
Run Code Online (Sandbox Code Playgroud)

整个EditText背景和提示文本颜色变为红色,因为这里很好.问题是我跑的时候

setError(null) 
Run Code Online (Sandbox Code Playgroud)

EditText的样式与原始样式完全不同.

开始情况:

聚焦 聚焦 重点 重点

setError("mandatory field")

在此输入图像描述

setError(null)

在此输入图像描述

我做了很多研究,但找不到任何有用的东西,问题到底是什么?

UPDATE

调查setError()方法的android源代码我发现了这个

public void setError(@Nullable CharSequence error) {
    if (!mErrorEnabled) {
        if (TextUtils.isEmpty(error)) {
            // If error isn't enabled, and the error is empty, just return
            return;
        }
        // Else, we'll assume that they want to enable the error functionality
        setErrorEnabled(true); …
Run Code Online (Sandbox Code Playgroud)

android android-textinputlayout

11
推荐指数
2
解决办法
9217
查看次数

visual studio 2012网络和桌面

我有网络视觉工作室2012快递,现在我需要制作一个桌面应用程序,需要我下载visual studio 2012 express for desktop或者我可以在网页版上安装任何插件吗?谢谢

visual-studio-2012

10
推荐指数
2
解决办法
4552
查看次数

如何制作像app一样的滑动键盘

我想知道哪个是手机键盘背后的技术,如Swype Keyboard或Nexus 4股票键盘.我为此搜索了很多,但找不到任何有用的东西.

我显然在简单的kayboard的sdk样本中找到了这个例子,并从中开始,以便了解IME开发背后的原理.现在我了解了它是如何工作的,我想了解这种键盘是如何工作的.我认为它与手势有关,我研究了它们,但它看起来是错误的方式.所以我问这个问题什么样的技术是基础.是画画吗?我需要找不到Canvas ecc吗?

谢谢

android android-input-method swipe-gesture

8
推荐指数
2
解决办法
6001
查看次数

android ColorStateList 以编程方式创建并应用于 TextColor

我正在尝试应用通过代码创建的 ColorStateList 作为 TextView 的 TextColor。问题是,如果我使用 xml 中定义的 ColorStateList,它可以工作,但当我通过代码创建 ColorStateList 时,它不起作用。

这是我创建 ColorStateList 的方法

int[][] states = new int[][] { new int[] { android.R.attr.state_activated } };

int[] colors = new int[] { Color.parseColor("#FFFF00") };

myList = new ColorStateList(states, colors);
Run Code Online (Sandbox Code Playgroud)

我简单地将其应用到 TextView 以这种方式

myTextView.setTextColor(myList);
Run Code Online (Sandbox Code Playgroud)

并且不起作用。使用这个xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_activated="true"  android:color="@color/yellow" />
   <item android:color="@color/black" />
</selector>
Run Code Online (Sandbox Code Playgroud)

它可以在 xml 中设置文本颜色,也可以通过代码以这种方式设置

myTextView.setTextColor(myTextView.getContext().getResources().getColorStateList(R.drawable.textcolor_selector));
Run Code Online (Sandbox Code Playgroud)

我在网上搜索了解决方案,但我真的找不到导致此问题的原因,有人可以帮助我吗?

谢谢

android textcolor android-selector

5
推荐指数
1
解决办法
5720
查看次数

Android Studio和Android设备监视器

我刚刚从Eclipse切换到Android Studio.就我今天所看到的而言,新IDE具有比Eclipse更多的功能,我喜欢使用新的IDE进行应用程序开发工作.

我只是无法理解一件事:在Eclipse中,有一个非常有用的DDMS透视图,从那里读取Logcat并执行许多其他操作,例如使用非常有用的dump view hierarchy函数,它允许您转储UI并检查它以了解在您的布局中显示的位置.

我在Android Studio中没有看到类似内容,经过大量研究后,您必须这样做的唯一方法是从"工具"菜单中打开Android设备监视器.

但这样做会导致ADB连接中断,因为Android Studio正在使用它,Android设备监视器希望使用它.结果是,如果您正在调试您的应用程序,除非您想要失去调试状态,否则无法打开Android设备监视器.

我认为这是不可接受的,我确信必须有更好的方法将Android设备监视器工具与Android一起使用,这可能吗?

谢谢

android ddms android-studio

5
推荐指数
2
解决办法
5万
查看次数

aar 与“普通模块”的优势

如果我有一个链接了许多库项目的项目,是否可以通过将每个项目打包在 AAR 中并将其包含在主项目中来提高构建性能?或者这不会有任何区别,因为当编译器需要组装 apk 时,它无论如何都需要将所有内容打包在一起?

感谢任何人谁会给我一些关于两种方法之间的性能差异的澄清

android library-project android-gradle-plugin aar

5
推荐指数
1
解决办法
805
查看次数

当"重新运行失败的测试"时,Android Studio"在包中找到0个测试类"

我在Android Studio上遇到了非常令人沮丧的行为,更新到最新版本(3.1.3,buld编号#AI-173.4819257),gradle插件版本3.1.3.它发生了什么,在运行我的基于Robolectric的单元测试后,点击"重新运行失败的测试",我总是得到这样的信息:

在'my-package-name'包中找到0个测试类

处理以退出代码254结束

空的测试套件.

我试图使缓存/重新启动无效,更新到每个依赖项的最新版本.实际上我找不到任何关于这个问题的有用信息,所以我在这里询问是否有人经历过类似的行为

在这里,您可以找到我的测试配置

在此输入图像描述

android unit-testing intellij-idea robolectric android-studio

5
推荐指数
1
解决办法
616
查看次数

Android自定义按钮通用点击处理程序

我正在尝试实现一个自定义按钮,它允许我在单击按钮时执行一组标准操作(例如编写日志),并执行特定于每个按钮实例的指定单击侦听器.可能吗?

非常感谢

android buttonclick android-custom-view android-button

3
推荐指数
1
解决办法
2834
查看次数

Mac OS 上的纱线缓存大小太大

我刚刚使用 Clean My Mac 的空间镜头功能来了解是什么占用了我的磁盘空间,我在 ~/Libary/Caches 下找到了它

在此输入图像描述

即使有最大的想象力,我也想不出该文件夹如此大的原因,是否可以安全(并定期)删除该文件夹?

谢谢

yarnpkg

3
推荐指数
1
解决办法
1632
查看次数

在Android Studio上运行intellij插件

我正在开发一个应该在android studio中使用的intellij插件.我已经设置了插件开发环境,但是当我点击"运行"命令时,它会启动一个安装了插件的新intellij实例.

我正在寻找的是如何直接在Android Studio上运行插件,这是可能的吗?我认为可以配置的唯一地方是"运行配置",但我找不到任何有用的地方.

谢谢

intellij-plugin

1
推荐指数
1
解决办法
709
查看次数