点在viewFlipper视图
问题描述:
我在它里面有两种检视ViewFlipper视图 - 点在viewFlipper视图
<ListView
android:dividerHeight="5dip"
android:id="@android:id/list"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:drawSelectorOnTop="false"
android:divider="@android:color/black">
</ListView>
<TextView
android:layout_height="fill_parent"
android:layout_gravity="bottom"
android:id="@+id/textView1"
android:layout_width="fill_parent">
</TextView>
</ViewFlipper>
我如何programmtically绘制两个小点(或尽可能多的点,因为有孩子viewFlipper视图中查看) ?
我应该重写onDraw()吗?
我的活动,这个膨胀布局ViewFlipper扩展ListActivity ...
感谢。
答
考虑重写dispatchDraw方法(调用超级方法,之后绘制点),因为如果覆盖onDraw,则儿童的内容将覆盖您的点。
或者创建包含顶部视图鳍状肢的水平线性布局的扩展,以及管理ImageViews以显示点(或手动绘制它们)的底部的一些组件。
public class CustomViewFlipper extends ViewFlipper {
public TableLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
drawDots(canvas);
}
}
任何想法如何我可以重写DispatchDraw()?我的活动扩展了ListActivity,我用包含ViewFlipper的布局调用setContentView()。我只能为覆盖ViewGroup或View的类重写DispatchDraw()。我无法弄清楚如何从我的活动扩展ListActivity到ViewGroup的活动。任何例子? – 2011-04-11 09:42:00
只需创建自己的类,它可以从ViewFlipper扩展。在那里你可以画出你想要的一切。 – Flavio 2011-04-11 12:00:53
非常感谢。这有帮助。 – 2011-04-11 16:51:24