我是Android的新手。將按鈕添加到FingerPaint Android API示例1
我在玩Android Android FingerPaint API示例。我已經想出瞭如何在菜單中添加按鈕和功能,但是如何在實際屏幕上獲得按鈕?
是否可以將按鈕放置在繪圖表面上?或者,我需要在左側的線性(垂直)佈局,並在那裏放置按鈕。要麼會沒事的。
幫助?謝謝。
我是Android的新手。將按鈕添加到FingerPaint Android API示例1
我在玩Android Android FingerPaint API示例。我已經想出瞭如何在菜單中添加按鈕和功能,但是如何在實際屏幕上獲得按鈕?
是否可以將按鈕放置在繪圖表面上?或者,我需要在左側的線性(垂直)佈局,並在那裏放置按鈕。要麼會沒事的。
幫助?謝謝。
Android FingerPaint
示例代碼不使用佈局;它只是有一個名爲MyView
的View
的子類,然後Activity將其內容視圖設置爲MyView
的實例。
如果您想要在屏幕上顯示多個View
,則需要使用某種佈局。如果您希望繪畫的MyView
位於按鈕的上方,下方或側面,則可以使用LinearLayout
;如果您希望按鈕位於MyView
之上,請使用FrameLayout
或RelativeLayout
。
您可以使用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示例很有用,因爲你知道這一點。
祝你好運!
你想動態地定位你的按鈕嗎?
如果是這樣,您可以使用setLayoutParams來設置按鈕的佈局屬性。