0
如何水平居中TextInputLayout错误?水平居中显示TextInputLayout错误
我遇到了一个SO帖子,建议使用反射来获取对错误textview的引用。我想避免使用反思。
有什么方法可以实现这个目标?
如何水平居中TextInputLayout错误?水平居中显示TextInputLayout错误
我遇到了一个SO帖子,建议使用反射来获取对错误textview的引用。我想避免使用反思。
有什么方法可以实现这个目标?
您制作一个自己的类,它继承自TextInputLayout。然后重写ShowError(字符串文本,可绘制图标)方法。如果错误被调用,则使用错误将textView居中。
public class TextInputLayout_Center : TextInputLayout
{
public override void ShowError(string text, Android.Graphics.Drawables.Drawable icon)
{
base.ShowError(text, icon);
centerErrorMessage(this);
}
void centerErrorMessage(ViewGroup view)
{
for (int i = 0; i < view.ChildCount; i++)
{
View v = view.GetChildAt(i);
if (v.GetType() == typeof(TextView))
{
v.LayoutParameters = new LayoutParams(ViewGroup.LayoutParams.MatchParent, v.LayoutParameters.Height);
((TextView)v).Gravity = GravityFlags.CenterHorizontal;
((TextView)v).TextAlignment = TextAlignment.Center;
}
if (v is ViewGroup)
{
centerErrorMessage((ViewGroup)v);
}
}
}
}
您是否找到解决方案? –