android - XML 中 EditText 的提示大小

标签 android html css xml android-edittext

我想要 hint EditText 的大小小于真实文本。

目前我知道两种解决方案:

  1. 使用 Html.fromHtml()以编程方式,或

  2. 使用 <font size="">在 XML 中。

但是,我不想使用第一个解决方案,因为我希望将提示直接写在我的布局 XML 中,而对于第二个解决方案,我不喜欢使用 font元素因为(如果我没记错的话)我不能显式 dp措施。此外,font元素在 HTML5 中被弃用,因此属于“旧式”。

我尝试使用 span元素与 font-size我的 XML 中的属性(来自 CSS),但它不起作用。还有其他最新的解决方案吗?

最佳答案

我不知道有什么方法可以仅通过 xml 完成此操作(除了在提示文本中粘贴 html 标记)。

但是还有另一种上面没有概述的方法,它允许您将字体大小保持在 sp 中并与 java 代码分开:

final int hintSize = <read_this_from_xml_resources_but_take_into_account_density>;
final int textSize = <read_this_from_xml_resources_but_take_into_account_density>;
editText.addTextChangedListener(new TextWatcher(){
    @Override
    public void afterTextChanged(Editable arg0) {
    }

    @Override
    public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
    }

    @Override
    public void onTextChanged(CharSequence arg0, int start, int before, int count) {
        editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, arg0.length() > 0 ? textSize : hintSize);
    }
});

关于android - XML 中 EditText 的提示大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31761078/

相关文章:

html - 如何使用 HTML/CSS 在网页中添加斜线?

java - 在通知点击时启动现有 Activity

javascript - 如何在 keypress/keydown 中检测鼠标 x/y

android - 将图像添加到我的布局,其大小与屏幕 android 的尺寸成比例

php - 如何按照插入顺序在页面上显示不同的 mysql 表行

html - 如何更改单个表格行的边框颜色?

html - TinyMCE 或 HTML5 的 contentEditable 属性?

html - 如果在溢出自动父级中,则绝对位置不在文档流之外

java - 进行 InApp 计费时如何保护 Google Play 公钥

java - 为什么子线程中的synchronized方法会持有主线程的锁