MYEditText.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence arg0, int start, int before,
int count) {
if (arg0.length() == 0) {
// No entered text so will show hint
editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, mHintTextSize);
} else {
editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, mRealTextSize);
}
}
});
3条答案
按热度按时间lymnna711#
可以通过样式和调用
SetHintTextAppearance
来更改最终提示大小/浮动标签大小,如下所示:其中
MyTextInputLayout
是沿着以下路线的东西:但是,此样式的
textSize
仅应用于最终目的地,当您开始在中输入一些文本时。从我所能看到的,包括对象的属性,它似乎不可能改变提示的起始字体大小不幸的是在那一刻?
在这里,
EditText
是暴露的,你可以改变那里的东西。Hint
部分根本不由它处理,而是由TextInputLayout
处理。似乎没有暴露的对象可以访问专门针对Hint
的自定义。8ehkhllq2#
你可以通过在字符串资源中设置一个大小来实现。
例如:
然后在你的XML中写
这将导致提示的文本变小,但输入文本的原始大小不变。
或者像这样:
wd2eg0qa3#
你只需要使用
"app:hintTextAppearance="@style/TextInputLayoutHintText"
到你的TextInputEditText,在风格上保持你所需要的任何大小例如:
<style name="TextInputLayoutHintText"> <item name="android:textSize">@dimen/text_size_7</item> </style>