【发布时间】:2012-02-16 11:00:50
【问题描述】:
我正在编写一个自定义ViewGroup,它是其他视图的简单组合。但是,视图似乎是任意顺序的。
我知道我可以实现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);
}
}
}
我知道我没有实现 onMeasure() 和 onLayout() 只是普通的香草,但我只是好奇为什么指示器是第一个孩子而不是寻呼机。
【问题讨论】:
-
把你的代码放在这里....所以我可以准确地猜出你想要什么......!!!
标签: android android-layout android-view android-custom-view