Time of Update: 2017-01-19
在做android項目中遇到一個bug,GridView嵌套在ScrollView裡只有一行的問題。下面小編在網上找到瞭解決方法,具體方法如下所示:方法一:就是上面說的通過計算出來ListView或者GridView中的子列高度和 進行顯示:public void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); if
Time of Update: 2017-01-19
1.簡單說明淘寶詳情頁就不用我一一介紹了,昨天逛淘寶看到這個效果時,讓我想起了去年剛學習Android只會使用現成的時候,當時在網上找了一個這種效果的使用了,並不懂怎麼實現的。現在就看到一種效果就想自己實現一下,我想這就是剛接觸某個知識時的好奇心吧說走咱就走啊,本文只是介紹一種實現思路,網上也已經有了很多種實現方式,有問題請指正效果圖(我有很用心的找美女圖的)2.實現思路繼承LinearLayout,設定方向為垂直控制項中有兩個ScrollView,至於為什麼要使用ScrollView,主要是因
Time of Update: 2017-01-19
前言在Android開發過程中,我發現很多安卓原始碼裡應用了設計模式,比較常用的有適配器模式(各種adapter),建造者模式(Alert Dialog的構建)等等。雖然我們對大多數設計模式都有所瞭解,但是在應用設計模式的這個方面,感覺很多人在這方面有所不足。所以這篇文章我們一起深入的理解Android中的建造者模式。建造者模式(Builder Pattern)也叫產生器模式,其定義如下:separate the construction of a complex object from
Time of Update: 2017-01-19
我們使用Android裝置串連網路時,如果是wap存取點就需要設定代理,而電信和移動聯通的代理並不相同,移動和聯通的wap代理都是10.0.0.172:80,電信的wap代理是10.0.0.200:80,所以進行Android開發時很有必要判斷存取點。 存取點的類型
Time of Update: 2017-01-19
自訂View,1. 自訂一個Runnable線程TouchEventCountThread , 用來統計500ms內的點擊次數2. 在MyView中的 onTouchEvent 中調用 上面的線程3. 自訂一個Handler, 在TouchEventHandler 中 處理 統計到的點擊事件, 單擊, 雙擊, 三擊, 都可以處理核心代碼如下: public class MyView extends View { ...... // 統計500ms內的點擊次數
Time of Update: 2017-01-19
前幾天Boss就反應說,機器每次啟動程式都會閃一下黑屏,這個客戶不接受。沒辦法,只能想想怎麼解決,最後找到了下面的方法。閃黑屏的原因主要是我們啟動Activity的時候,需要跑完onCreate和onResume才會顯示介面。也就是說需要處理一些資料後,才會顯示。按照這種思路,是不是我把初始化的工作盡量減少就可以避免黑屏?事實是,就算你onCreate啥都不做,仍然會閃一下黑屏,因為初始化解析介面時需要一定時間。下面是解決辦法:1、自訂Theme複製代碼
Time of Update: 2017-01-19
今天繼續講解Fragment組件的特性,主要是跟Activity的互動和生命週期的關係,我們前面已經說過Fragment是依賴於Activity的,而且生命週期也跟Activity綁定一起。下面我們看看Fragment跟Activity的關係。1、為Activity建立事件回調方法在一些情況下, 你可能需要一個fragment與activity分享事件。 一個好的方法是在fragment中定義一個回調的interface,
Time of Update: 2017-01-19
我們Android平台是一個又一個的Activity組成的,每一個Activity有一個或者多個View構成。所以說,當我們想顯示一個介面的時候,我們首先想到的是建立一個Activity,然後所有的操作在Activity裡面實現,或者是一個Dialog或者Toast。這種方式固然簡單,但是在有些情況下,我們要求的只是簡單的顯示,用Activity顯然是多餘,這個時候,我們如何處理呢?
Time of Update: 2017-01-19
HelloWorld的目錄結構有:
Time of Update: 2017-01-19
主要實現辦法:動態載入各級下拉值的適配器在監聽本級下拉框,當本級下拉框的選中值改變時,隨之修改下級的適配器的綁定值 XML布局:複製代碼 代碼如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
Time of Update: 2017-01-19
簡單的做點筆記 ,省得以後忘記了~~1、emulator模擬器實際上是一個基於qemu的arm環境模擬器,其源碼在external/qemu裡面,編譯出來的目錄在/host/linux-x86。 export ANDROID_PRODUCT_OUT=~/google_r2/out/target/product/generic export
Time of Update: 2017-01-19
思路:Android中捕獲使用者按鍵是在onKeyDown方法中,只需要判斷使用者按鍵是否是KEYCODE_BACK即後退鍵即可,剩下的即為判斷兩次點擊BACK鍵時間間隔問題了第一種實現方式 package com.example.clickexittest; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message;
Time of Update: 2017-01-19
從一開始寫Android程式,就被告知這些常識1.長度寬度的數值要使用dp作為單位放入dimens.xml檔案中2.字型大小的數值要使用sp作為單位,也放入dimens.xml檔案中然後,就沒有然後了,彷彿潛台詞就是說,你記住去用就行了.偶然有一天,當我們陰差陽錯地將字型寫成了dp,也是可以工作,而且效果和sp一樣.這時候,就開始懷疑了,到底有啥區別呢,dp和sp有什麼不同呢?我們做個簡單的Sample驗證一下,如下,一個布局代碼<TextView
Time of Update: 2017-01-19
一、Android的記憶體機制 Android的程式由Java語言編寫,所以Android的記憶體管理與Java的記憶體管理相似。程式員通過new為對象分配記憶體,所有對象在java堆內分配空間;然而對象的釋放是由記憶體回收行程來完成的。C/C++中的記憶體機制是“誰汙染,誰治理”,java的就比較人性化了,給我們請了一個專門的清潔工(GC)。 那麼GC怎麼能夠確認某一個對象是不是已經被廢棄了呢?Java採用了有向圖的原理。
Time of Update: 2017-01-19
在做項目時,經常會把錯誤利用異常拋出去,這樣在開發時就可以通過手機拋出的異常排查錯誤。但是當程式開發完畢,版本穩定,需要上線時,為了避免拋出異常影響使用者感受,可以用UncaughtExceptionHandler捕獲全域異常,對異常做出處理。比如我們可以擷取到拋出異常的時間、手機的硬體資訊、錯誤的堆棧資訊,然後將擷取到的所有的資訊發送到伺服器中,也可以發送到指定的郵件中,以便及時修改bug。樣本:自訂異常類實現UncaughtExceptionHandler介面,當某個頁面出現異常就會調用un
Time of Update: 2017-01-19
剛剛修改Bug碰到了一個問題,先描述一下問題。1.測試說分享文章到微信失敗,QQ成功。定位到微信分享介面。2.分享其它文章到微信成功。介面有問題!差點就找介面了,還好沒3.斷點微信分享,發現突然壓縮失敗。代碼寫法問題,下面會分解4.找到原因,微信對分享縮圖大小有32k的限制,代碼是對文章的第一張圖片進行壓縮,圖片太大,壓縮代碼也有問題。開始解決問題這裡有兩種解決方案:1.介面提供文章對應的分享內容,在編輯人員編輯文章的時候就對這些資料進行了限制。{ "title":"how to
Time of Update: 2017-01-19
ViewFlipper和ViewPager挺像的,都是一個view容器。內部可以添加多個view,只是viewpager可以通過左右滑動來切換view,而viewFlipper則沒有這個功能,所以需要在它上面監聽手勢。比較方便的是它不用使用適配器就能添加view,所以比較方便。 首先在布局檔案中定義這個控制項: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=
Time of Update: 2017-01-19
先看看效果圖:開源項地址:https://github.com/chrisbanes/Android-PullToRefresh 下拉重新整理這個功能我們都比較常見了,今天介紹的就是這個功能的實現。我將按照這個開源庫的範例來一點一點介紹,今天是介紹比較常見的PullToRefreshListView,是讓listView有下拉重新整理功能。 1.下載項目包,將library包匯入即可,其他的包暫時不用2.分析源碼,看我們可以設定的有哪些 <?xml
Time of Update: 2017-01-19
今天發的是TabHost結合ViewPager實現首頁底部導航的效果,雖然說網上有很多這樣的Demo,不過呢,我還是要把自己練習寫的發出來,沒錯!就是這麼任性; 先上效果圖,如下:代碼裡面有注釋,就不過多解釋了,說幾點需要注意的問題 1:TabHost 、TabWidget、FrameLayout一定添加id這個屬性,否則會報錯 android:id=”@android:id/tabhost” android:id=”@android:id/tabcontent”
Time of Update: 2017-01-19
之前一直是做.NET開發的,最近需要弄一個新聞app,能力有限,只能藉助HTML5 WebAPP+android studio來完成這項工作。 android studio主要用WebView來載入發布好的WebApp,打包生產APP。 其中由於顯示一些pdf文檔,所以研究了一下,記錄一下心得,同時也希望協助到新手們。android