在实现androd textview跑马灯效果的时候,和EditText的焦点事件冲突了,一旦EditText获取焦点以后,textview文本就不再滚动。网上查资料,大部分的解决方法都是重写TextView,然后重写OnFocusChanged事件和IsFocused()方法,让IsFocused方法中返回true.但是实际应用之后发现,在xamarin中,isFocused根本不是一个方法而是一个属性。所以重写这个属性之后一直报错。这里是解决办法。textview还是正常设置就可以了。
public class MarqueeText : TextView
{
public MarqueeText(Context context) : base(context)
{
}
public MarqueeText(Context context, IAttributeSet attrs) : base(context, attrs)
{
}
public MarqueeText(Context context, IAttributeSet attrs, int defStyle) : base(context, attrs, defStyle)
{
}
protected override void OnFocusChanged(bool gainFocus, FocusSearchDirection direction, Android.Graphics.Rect previouslyFocusedRect)
{
base.OnFocusChanged(true, direction, previouslyFocusedRect);
}
public bool IsFocused
{
get
{
return true;
}
}
}