【问题标题】:Q: Android - (EditText) Hint vs Text Sizes + Alpha only on Hint Text?问:Android - (EditText) 提示与文本大小 + Alpha 仅在提示文本上?
【发布时间】:2019-01-23 20:24:25
【问题描述】:

我有 两个 问题..


( 1 ) - 我希望 EditText 的 HINT 大小小于用户输入的大小文本大小.. 由于使用默认布局控件似乎无法做到这一点,因此我在 Stack 上寻求答案。

经过研究,我发现了这个 - 但是你 不能使用“ sp" 为大小值:

创建一个字符串<string name="edittext_hint"><font size="15">Hint here!</font></string>
然后在您的布局 xml 中设置 android:hint="@string/edittext_hint"..

但是,再一次,由于你不能使用“sp”作为值,我继续搜索,找到了这段代码:

// 通过 XML EDITOR 设置提示大小 - 并使用此代码设置实际文本大小:

int actualTextSize = 16;

EditText editText = (EditText) findViewById(R.id.editTextId);
editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, actualTextSize);

//  THEN SET HINT SIZE IN LAYOUT XML EDITOR

但是真的那么简单 如果是这样,为什么还有这么多其他答案使用过多的代码来实现所有意图并达到完全相同的结果?
.. 上述方法是否正确,是最简单的最佳实践解决方案吗?


aaaand

( 2 ) - 我还希望我的 EditText 的 HINT 是半透明的,但 不是 'ACTUAL文本'..
..这可能吗? 如果可以,怎么做?


提前感谢您为这些问题提供的任何帮助!

【问题讨论】:

  • 我尝试使用上面发布的“简单”代码 sn-p,但我遇到了崩溃 - 我认为这是因为资源文件中为 edittext 文本设置的大小与我在其中设置的大小相矛盾代码(我意识到你不能在布局文件中设置提示大小)。还有其他人知道我如何为提示文本和用户输入的文本设置不同的文本大小吗?

标签: java android android-edittext android-xml


【解决方案1】:

您的第二个问题答案:在 EditText android:textColorHint="#DD000000" 中添加以下属性

<EditText
        android:layout_width="match_parent"
        android:layout_height="70dp"
        android:hint="@string/app_name"
        android:textColorHint="#DD000000"/>

对于EditText的提示文字颜色透明使用值: 对于 50% 的白色,你会使用 #80FFFFFF。

  • 100% — FF
  • 95% — F2
  • 90% — E6
  • 85% — D9
  • 80% — 抄送
  • 75% — 高炉
  • 70% — B3
  • 65% — A6
  • 60% — 99
  • 55% — 8C
  • 50% — 80
  • 45% — 73
  • 40% — 66
  • 35% — 59
  • 30% — 4D
  • 25% — 40
  • 20% — 33
  • 15% — 26
  • 10% — 1A
  • 5% — 0D
  • 0% — 00

(Source)

快乐编码:)

【讨论】:

  • 感谢您提供有关透明度的信息。在我发布它之后我正在考虑这个问题,并认为是这样。但是如果我只是将 Alpha 数量放在 6 位 HEX 之前,它的工作原理会不会完全一样?例如:#50FFFFFF 表示 50% 透明 50% 不透明的白色?为什么 50% 会是 #80FFFFFF?那不是80%/ 20%吗?还是我完全错了?谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-29
  • 1970-01-01
  • 1970-01-01
  • 2013-05-22
  • 1970-01-01
  • 1970-01-01
  • 2016-07-09
相关资源
最近更新 更多