android - examples - xamarin español
Cómo aplicar una vista personalizada en Xamarin.axml para Android (1)
He estado trabajando en la implementación de la barra de acción de desvanecimiento y el desplazamiento de paralaje en mi interfaz de usuario de Android en mi aplicación Xamarin. Necesitaba extender mi ScrollView, y ahora se llama NotifyingScrollView. ¿Cómo doy estilo a mi .axml ahora? No puedo escribir NotifyingScrollView en mi axml,
namespace NightOut.UiComponents
{
class NotifyingScrollView : ScrollView
{
public interface IOnScrollChangedListener
{
void OnScrollChanged(ScrollView who, int l, int t, int oldl, int oldt);
}
private IOnScrollChangedListener mOnScrollChangedListener { get; set; }
public NotifyingScrollView(Context context) : base(context)
{
}
public NotifyingScrollView(Context context, IAttributeSet attrs) : base(context, attrs)
{
}
public NotifyingScrollView(Context context, IAttributeSet attrs, int defStyle) : base(context, attrs, defStyle)
{
}
[Android.Runtime.Register("onScrollChanged", "(IIII)V", "GetOnScrollChanged_IIIIHandler")]
protected override void OnScrollChanged(int l, int t, int oldl, int oldt)
{
base.OnScrollChanged(l, t, oldl, oldt);
if (mOnScrollChangedListener != null)
{
mOnScrollChangedListener.OnScrollChanged(this, l, t, oldl, oldt);
}
}
}
}
Ejemplo genérico:
namespace My.Namespace
{
class MyCustomView : View
{
}
}
Se usa de la siguiente manera en .axml
<my.namespace.MyCustomView />
O en tu ejemplo específico:
<nightout.uicomponents.NotifyingScrollView />
Do mind case, el espacio de nombres en .axml es minúscula, classname es el mismo caso que la declaración de C #.