我一直致力于在我的Xamarin应用中实现淡入淡出的操作栏和视差滚动到我的Android用户界面。我需要扩展我的ScrollView,现在它被称为NotifyingScrollView。我现在如何设计我的.axml样式。我不能在我的axml中编写NotifyingScrollView,
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);
}
}
}
}
答案 0 :(得分:7)
通用示例:
namespace My.Namespace
{
class MyCustomView : View
{
}
}
在.axml中以下列方式使用
<my.namespace.MyCustomView />
或者在您的具体示例中:
<nightout.uicomponents.NotifyingScrollView />
请注意,.axml中的命名空间是小写的,classname与C#声明的情况相同。