本文整理汇总了C#中RecyclerView.GetChildAdapterPosition方法的典型用法代码示例。如果您正苦于以下问题:C# RecyclerView.GetChildAdapterPosition方法的具体用法?C# RecyclerView.GetChildAdapterPosition怎么用?C# RecyclerView.GetChildAdapterPosition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RecyclerView
的用法示例。
在下文中一共展示了RecyclerView.GetChildAdapterPosition方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnInterceptTouchEvent
public bool OnInterceptTouchEvent(RecyclerView rv, MotionEvent e)
{
View childView = rv.FindChildViewUnder(e.GetX(), e.GetY());
if (childView != null && this.gestureDetector.OnTouchEvent(e))
{
this.OnClick(rv, childView, rv.GetChildAdapterPosition(childView));
}
return false;
}
示例2: OnDraw
public override void OnDraw (Canvas c, RecyclerView parent, RecyclerView.State state)
{
var childCount = parent.ChildCount;
if (childCount == 0) {
return;
}
for (int i = 0; i+1 < childCount; i++) {
var child = parent.GetChildAt (i);
var viewHolder = parent.GetChildViewHolder (child);
Type type = viewHolder.GetType ();
object[] attributes = type.GetCustomAttributes (typeof (ShadowAttribute), false);
if (attributes.Length != 1) {
continue;
}
ShadowAttribute shadowAttr = attributes [0] as ShadowAttribute;
if (ShouldDraw (child) && shadowAttr != null) {
var m = shadowAttr.Modes;
var left = parent.PaddingLeft;
var right = child.Right + child.PaddingRight;
if (m.HasFlag (top) && topShadowHeightInPixels > 0 && parent.GetChildAdapterPosition (child) != 0) {
var shadowBottom = child.Top + topShadowHeightInPixels;
shadow.SetBounds (left, child.Top, right, shadowBottom);
shadow.Draw (c);
}
if (m.HasFlag (bottom) && bottomShadowHeightInPixels > 0) {
var reverseShadowTop = child.Bottom - bottomShadowHeightInPixels;
reverseShadow.SetBounds (left, reverseShadowTop, right, child.Bottom);
reverseShadow.Draw (c);
}
}
}
}
示例3: GetItemOffsets
public override void GetItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state)
{
base.GetItemOffsets(outRect, view, parent, state);
var layoutManager = (StaggeredGridLayoutManager)parent.GetLayoutManager();
int position = parent.GetChildAdapterPosition(view);
if (position < layoutManager.SpanCount)
{
outRect.Top = headerView.heightHeader;
}
}
示例4: OnScrolled
public override void OnScrolled(RecyclerView recyclerView, int dx, int dy)
{
base.OnScrolled(recyclerView, dx, dy);
if (scrolledY == int.MinValue)
{
var child = recyclerView.GetChildAt(0);
var positionFirstItem = recyclerView.GetChildAdapterPosition(child);
var heightDecorator = positionFirstItem == 0 ? 0 : headerView.heightHeader;
var offset = recyclerView.ComputeVerticalScrollOffset();
scrolledY = offset + heightDecorator;
}
else
{
scrolledY += dy;
}
headerView.headerAnimator.OnScroll(-scrolledY);
}
示例5: GetItemOffsets
public override void GetItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state)
{
if (parent.GetChildAdapterPosition(view) % 2 == 1) outRect.Left = mHorizontalSpaceHeight;
outRect.Bottom = mVerticalSpaceHeight;
}