我的Android項目出現問題。屏幕上的浮動按鈕填充視圖?
我有一個屏幕填充自定義視圖,它顯示一個畫布。畫布由背景圖片和另一個圖片圖層組成,其中可以用手指繪製。另外,畫布視圖可以被拖動並縮放。 現在我實施了'longClicks'的檢測,即在相同區域下放一秒鐘。作爲這種手勢的結果,應該在指出的區域上彈出一個小菜單。菜單本身應該包含一些類似於TabHost/TabWidget的東西,即在頂部的騎手上的小圖標,其在菜單的下部顯示單獨的EditText,按鈕等。
現在的問題是:它在技術上怎麼做?
1)我玩過TabHost等,但我認爲只有在有TabActivity時纔可以使用。它是否正確?
2)然後我搜索了一個可能性,用這個TabActivity覆蓋我的主要活動,導致這是可能的,但我無法真正控制覆蓋活動的放置位置,它總是從左上角開始。是否有可能在屏幕上放置一個活動?
3)接下來,我放棄了我的想法與標籤菜單,並尋找一種可能性,只覆蓋我的看法與另一種觀點(並有可能再次刪除它)。我讀過,使用ViewManager是可能的。但是,我如何訪問ViewManager?文檔說:http://developer.android.com/reference/android/view/ViewManager.html
調用Context.getSystemService()。
但通過這個函數,我只能得到WindowManager而不是ViewManager。跆拳道?
我現在真的被卡住了......有人能幫我一把嗎?
編輯: 我通過以編程方式實例化Layout來管理視圖問題,然後將其作爲contentView傳遞。
rl = new RelativeLayout(getBaseContext());
rl.addView(cview);
cview.setId(1111);
View overlay = getLayoutInflater().inflate(R.layout.menuoverlay, rl, false);
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_LEFT, cview.getId());
lp.addRule(RelativeLayout.CENTER_VERTICAL, cview.getId());
rl.addView(overlay, lp);
現在正在佈局中的靜態和寫一些getter/setter方法的時候,我現在能控制添加和刪除的意見。
private static rl;
//scroll scroll
public static void addView(View view){
rl.addView(view);
}
謝謝,我要試試這個! – stk 2011-04-28 15:15:21