2011-04-11 100 views
0

我在它裏面有兩種檢視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 ...

感謝。

回答

3

考慮重寫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); 
    } 
} 
+0

任何想法如何我可以重寫DispatchDraw()?我的活動擴展了ListActivity,我用包含ViewFlipper的佈局調用setContentView()。我只能爲覆蓋ViewGroup或View的類重寫DispatchDraw()。我無法弄清楚如何從我的活動擴展ListActivity到ViewGroup的活動。任何例子? – 2011-04-11 09:42:00

+0

只需創建自己的類,它可以從ViewFlipper擴展。在那裏你可以畫出你想要的一切。 – Flavio 2011-04-11 12:00:53

+0

非常感謝。這有幫助。 – 2011-04-11 16:51:24