2011-06-17 39 views
0

我是Android的新手。將按鈕添加到FingerPaint Android API示例1

我在玩Android Android FingerPaint API示例。我已經想出瞭如何在菜單中添加按鈕和功能,但是如何在實際屏幕上獲得按鈕?

是否可以將按鈕放置在繪圖表面上?或者,我需要在左側的線性(垂直)佈局,並在那裏放置按鈕。要麼會沒事的。

幫助?謝謝。

回答

2

Android FingerPaint示例代碼不使用佈局;它只是有一個名爲MyViewView的子類,然後Activity將其內容視圖設置爲MyView的實例。

如果您想要在屏幕上顯示多個View,則需要使用某種佈局。如果您希望繪畫的MyView位於按鈕的上方,下方或側面,則可以使用LinearLayout;如果您希望按鈕位於MyView之上,請使用FrameLayoutRelativeLayout

您可以使用XML定義佈局,也可以使用代碼手動創建佈局。前者更加靈活和可維護,但會有一些呃逆。

首先,創建一個佈局XML,顯示您希望如何佈置組件。在這個例子中,我們將其稱爲finger_paint.xml。確保你在那裏有一個MyView的地方,是這樣的:

<view class="com.example.android.apis.graphics.FingerPaint$MyView" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

然後,替換,看起來像

setContentView(new MyView(this)); 

setContentView(R.layout.finger_paint); 

注意,因爲線路MyView沒有(還)有適當的構造函數f或者正在被LayoutInflater實例化,這還不行,所以讓我們來解決這個問題。添加額外的進口接近文件的頂部:

import android.util.AttributeSet; 

,然後添加一個AttributeSet參數的MyView構造:

public MyView(Context c, AttributeSet as) { 
    super(c, as); 

    // rest of constructor is same as in the sample 
} 

你也將不得不改變MyView的是一個static內部類的FingerPaint

你可能會發現Building Custom Components文檔和NotePad示例很有用,因爲你知道這一點。

祝你好運!

0

你想動態地定位你的按鈕嗎?

如果是這樣,您可以使用setLayoutParams來設置按鈕的佈局屬性。