當前位置:首頁 » 安卓系統 » android繼承view

android繼承view

發布時間: 2022-05-25 03:50:26

① android 繼承viewGroup自定義了一個視圖,那個自定義的視圖在activity的oncrate方法裡面添加子。。

添加的子View,如果用hierarchyviewer工具可以看到,而你看不到,那麼可能原因有:

  1. 是你添加子View的時候裡面已經有View了,並被蓋住了。可以先調用removeAllViews()試下。

  2. oncreate能看到,onresume不能看到,調用setContentView()方法試下,應該是沒有刷新當前界面

② android自定義控制項繼承View,其中父類的三個構造方法有什麼區別

android開發者網站上有相關的說明文檔: public View (Context context)是在java代碼創建視圖的時候被調用,如果是從xml填充的視圖,就不會調用這個 public View (Context context, AttributeSet attrs)這個是在xml創建但是沒有指定style的時候被調用 public View (Context context, AttributeSet attrs, int defStyle)這個不用說也懂了吧

③ android問題 繼承view類的一個類裡面定義的width,height,margin值從哪獲取

可以通過調用this.getHeight等方法獲取定義此控制項時設置的寬高等屬性

④ android中的View是做什麼的

View類是Android的一個超類,這個類幾乎包含了所有的屏幕類型。每一個View都有一個用於繪圖的畫布,這個畫布可以進行任意擴展。在游戲開發中葉可以自定義視圖(View),這個畫布的功能更能滿足我們在游戲開發中的需要。在Android中,任何一個View類都只需重寫onDraw 方法來實現界面顯示,自定義的視圖可以是復雜的3D實現,也可以是非常簡單的文本形式等。

游戲中最重要的就是需要與玩家交互,比如鍵盤輸入、觸筆點擊事件,我們如何來處理這些事件呢?Android中提供了 onKeyUp、onKeyDown、onKeyMultiple、onKeyPreIme、onTouchEvent、onTrackballEvent等方法,可以輕松地處理游戲中的事件信息。所以,在繼承View時,需要重載這幾個方法,當有按鍵按下或彈起等事件時,按鍵代碼自動會傳輸給這些相應的方法來處理。

游戲的核心是不斷地繪圖和刷新界面,圖我們已經通過onDraw 方法繪制了,下面來分析如何刷新界面。Android中提供了 invalidate 方法來實現界面刷新,注意,invalidate 不能直接在線程中調用, 就是不可以在子線程中調用明白乎?因為它違背了 Android的單線程模型:Android UI操作並不是線程安全的,並且這些操作必須在UI 線程中執行,因此Android中最常用的方法就是利用Handler來實現UI線程的更新。 其實用 AsyncTask 也可以。

⑤ android畫圖一定要繼承view或surfaceView,在線程里一直畫嗎

第一,不一點用surfaceview,亦可繼承view;第二,是不是畫一次,或者多次,由你代碼控制第三,ondraw是一個回調函數,canvas為空,證明你調用有錯
查看原帖>>

⑥ Android 繼承View 覆寫onKeyDown 不響應

android的窗口手勢有傳遞機制, windowmanager-----> activity -----> view
onkeydown 首先被 activity 攔截了,沒有返回,你嘗試在 activity 的onkeydown方法里列印log 就可以看到有執行,所以被這個方法攔截了,就沒法執行到你view的onkeydown方法里。

解決方法有: 1 在activity 的onkeydown方法里 return 之前 讓view 獲取onkeydown焦點 ,
Game_View view = new Game_View (this) ;

view.onKeyDown(keyCode, event);
return super.onKeyDown(keyCode, event);

2 攔截activity的onkeydown手勢,讓它進入到下層view,這種方法我沒試,理論可行

⑦ android中,繼承view為什麼卻拿不到protected的

1.繼承view訪問scroll?你怎麼訪問的?
2.你直接訪問屬性肯定不行的 上面的說的很清楚了。。包內可見、、、
3.api中
4.final int getScrollX()
5.Return the scrolled left position of this view.
6.這個方法可以得到

⑧ android自定義控制項必須繼承view嗎

需要看你實現什麼效果。一般自定義控制項可以用2種方式:

  1. 將現有的控制項封裝起來,作為一個通用的組件來使用,此時只能用代碼的形式調用,無法再xml中引用,例如將textView和Button封裝為一個登錄控制項。

  2. 繼承View或者ViewGroup,其實ViewGroup也是繼承的View。然後依次實現onMeasure()、onLayout()、onDraw(),

    1. onMeasure -- 負責測繪控制項的大小

    2. onLayout -- 負責控制項中子元素擺放的位置

    3. onDraw -- 負責控制項和子控制項的繪制,使其顯示在屏幕中

  3. 一些設計和實現較好的自定義View,一般還需要考慮事件的傳遞、動畫的控制、touch事件的處理等

⑨ android中 自定義了一個MyView(繼承自View類) 在xml布局文件中作為組件添加(無錯誤提示)但運行後報錯

1、自定義view需要注意
構造函數
,所有的xml布局,初始化時構造函數使用的都是 (Context context, AttributeSet attrs) {兩個參數的。如果沒有該構造函數會報錯。
2、如果有自定義屬性,則需要在當前xml中引入工程包名,否則自定義屬性會報錯
這個問題報錯的願意是第一個,構造函數使用錯誤。增加構造函數就能解決問題。
比如:
public class MyView extends View{//下面2個構造函數都加上
public MyView(Context context){
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
}

⑩ Android自定義控制項按照對View及其子類的依賴程度可以分為哪三種

摘要 二、繼承控制項

熱點內容
如何撤回密碼 發布:2025-08-22 02:30:36 瀏覽:675
安卓系統怎麼用藍牙傳給蘋果手機 發布:2025-08-22 02:27:51 瀏覽:475
android獲取數組 發布:2025-08-22 02:24:04 瀏覽:646
徵型壓縮機 發布:2025-08-22 02:10:15 瀏覽:495
真空壓縮袋能上飛機嗎 發布:2025-08-22 02:10:01 瀏覽:95
怎麼刪除伺服器文件 發布:2025-08-22 02:04:07 瀏覽:169
爐石傳說威脅腳本投降 發布:2025-08-22 01:54:10 瀏覽:331
大大哇腳本 發布:2025-08-22 01:49:32 瀏覽:95
python2pip 發布:2025-08-22 01:48:56 瀏覽:389
php和null 發布:2025-08-22 01:48:49 瀏覽:965