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轴上位于另一个视图的上方,但这是因为寻呼机顶部有一个空白区域,指示灯似乎适合
愚蠢的错误 把你的代码放在这里。。。。所以我可以准确地猜出你想要什么。。。!!!