Android-自定义视图组中的子顺序

Android-自定义视图组中的子顺序,android,android-layout,android-view,android-custom-view,Android,Android Layout,Android View,Android Custom View,我正在编写一个自定义的视图组,它是其他视图的简单组合。然而,这些观点似乎是武断的 我知道我可以实现getChildDrawingOrder()方法,但我很好奇视图的顺序是如何确定的 更新:这是一个最低限度的实施,它可以工作,但我不知道为什么无论我做什么,指标总是在顶部 public class PaginatedGallery extends ViewGroup { ViewPager mPager; CirclePageIndicator mPagerIndicator; public

我正在编写一个自定义的
视图组
,它是其他视图的简单组合。然而,这些观点似乎是武断的

我知道我可以实现
getChildDrawingOrder()
方法,但我很好奇视图的顺序是如何确定的


更新:这是一个最低限度的实施,它可以工作,但我不知道为什么无论我做什么,指标总是在顶部

public class PaginatedGallery extends ViewGroup {

ViewPager mPager;
CirclePageIndicator mPagerIndicator;

public PaginatedGallery(Context context) {
    super(context);
    mPager = new ViewPager(context);
    mPagerIndicator = new CirclePageIndicator(context);
    addView(mPager);
    addView(mPagerIndicator);
}

public void setAdapter(PaginatedGalleryAdapter adapter) {
    mPager.setAdapter(adapter);
    mPagerIndicator.setViewPager(mPager);
}

@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
    final int count = getChildCount();

    for (int i = 0; i< count; i++ ) {
        getChildAt(i).layout(l, t, r, b);
    }

}   
}
public类PaginatedGallery扩展了视图组{
可视寻呼机;
圆圈指示器MPAGER指示器;
公共分页Gallery(上下文){
超级(上下文);
mPager=新的ViewPager(上下文);
mPagerIndicator=新的CirclePageIndicator(上下文);
addView(mPager);
addView(mPagerIndicator);
}
public void setAdapter(PaginatedGalleryAdapter适配器){
mPager.setAdapter(适配器);
mPagerIndicator.setViewPager(mPager);
}
@凌驾
仅受保护的void布局(布尔值已更改、int l、int t、int r、int b){
最终整数计数=getChildCount();
for(int i=0;i
我知道我没有实现
onMeasure()
onLayout()
只是普通的,但我只是好奇为什么indicator是第一个孩子,而不是寻呼机。

找到了答案

只需按照视图添加到父视图的顺序调用视图

在我的例子中,一个视图在Z轴上位于另一个视图的上方,而我认为它在Y轴上位于另一个视图的上方,但这是因为寻呼机顶部有一个空白区域,指示灯似乎适合


愚蠢的错误

把你的代码放在这里。。。。所以我可以准确地猜出你想要什么。。。!!!