編輯:Android開發教程
在oncreate()中利用view.getWidth()或是view.getHeiht()來獲取view的寬和高,看似沒有問題,其實他們去得值是0,並不是你想要的結果? 這是為什麼呢? 在調用oncreate()方法時,界面處於不可見狀態,內存加載組件還沒有繪制出來,你是無法獲取他的尺寸。 那如何在繪制組件之前能獲取到該組件的尺寸大小呢? 這裡有三種方法,經過驗證的: 方法一 : //測量方法 1 2 3 4 5 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(); 方法二 : 1 2 3 4 5 6 7 8 9 //增加組件繪制之前的監聽 ViewTreeObserver vto =view.getViewTreeObserver(); vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { @Override public booleanonPreDraw() { int height =view.getMeasuredHeight(); int width =view.getMeasuredWidth(); } }); 方法三 : 1 2 3 4 5 6 7 8 9 10 //增加整體布局監聽 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
這裡歸納寫一個android網絡框架的一般性原理:Http網絡請求原理學過《計算機網絡》的應該都知道http是一種應用層協議,它通過tcp實現了可靠的數據傳輸,能夠保證數
Google已經提供了你正在使用的三個Nexus設備之一的系統更新,我們高興的是,Nexus 4和10的Android 4.2 OTA更新也開始推出了。此次的升級包括了&
上下文相關菜單(Context Menu)類同PC上按鼠標右鍵顯示的菜單,在Android平台上是長按來激活Context Menu,Context Menu一般用來顯示
Activity分類示例的最後幾個例子是來顯示半透明Activity。例子大同小異。實現Activity的半透明效果主要是通過Style和 Theme來實現的。看看Tra