編輯:關於Android編程
在oncreate()中利用view.getWidth()或是view.getHeiht()來獲取view的寬和高,看似沒有問題,其實他們去得值是0,並不是你想要的結果?
這是為什麼呢?
在調用oncreate()方法時,界面處於不可見狀態,內存加載組件還沒有繪制出來,你是無法獲取他的尺寸。
那如何在繪制組件之前能獲取到該組件的尺寸大小呢?
這裡有三種方法,經過驗證的:
方法一int width =View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); int height =View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); view.measure(width,height); int height=view.getMeasuredHeight(); int width=view.getMeasuredWidth();
//增加組件繪制之前的監聽 ViewTreeObserver vto =view.getViewTreeObserver(); vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { @Override public booleanonPreDraw() { int height =view.getMeasuredHeight(); int width =view.getMeasuredWidth(); } });方法三
//增加整體布局監聽 ViewTreeObserver vto = view.getViewTreeObserver(); vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener(){ @Override public voidonGlobalLayout() { view.getViewTreeObserver().removeGlobalOnLayoutListener(this); int height =view.getMeasuredHeight(); int width =view.getMeasuredWidth(); } });那麼,在activity進入運行期時,組件的尺寸獲取方法就很簡單了,直接getWidth()和getHeight().
主題Theme就是用來設置界面UI風格,可以設置整個應用或者某個活動Activity的界面風格。在Android SDK中內置了下面的Theme,可以按標題欄Title
本文實例講述了Android控件之ListView用法。分享給大家供大家參考。具體如下:示例一:在android開發中ListView是比較常用的組件,它以列表的形式展示
聯系人提供程序是一個強大而又靈活的 Android 組件,用於管理設備上有關聯系人數據的中央存儲庫。 聯系人提供程序是您在設備的聯系人應用中看到的數據源,您也可以在自己的
公司項目中有這樣一個需求,當從網絡獲取json數據並解析後,動態的添加按鈕,點擊時切換對應按鈕下存儲的各種數據。如下圖:這裡只是單單為了動態添加RadioButton而已