Time of Update: 2017-01-19
本文介紹Android實現首字母導航條,先看張效果圖,具體怎麼實現看代碼吧具體的步驟1.整體布局的顯示 2. 實現A-Z的分組 3. 自訂A-Z的導航條 4. 中間顯示/隱藏觸摸到導航條具體的字母activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
Time of Update: 2017-01-19
這是個不錯的教程,自己學完了之後就拿出來分享了,本來想一個文章寫完,但是發現這樣對自己寫部落格的效率有點出入,為了讓大家看的舒服點,所以分開來寫,我們先開看下百度壁紙的用戶端是什麼樣子的我們先來寫個首頁的架構,我們建立一個項目——BaiDuWallPaper 寫個Itemlayout_tab_item<?xml version="1.0" encoding="utf-8"?><RelativeLayout
Time of Update: 2017-01-19
前言:前面總結學習了圖片的使用以及Lru演算法,今天來學習一下比較優秀的圖片緩衝開源架構。技術本身就要不斷的更迭,從最初的自己使用SoftReference實現自己的圖片緩衝,到後來做電商項目自己的實現方案不能滿足項目的需求改用Afinal,由於Afinal不再維護而選擇了師出同門的Xutils,中間也接觸過別的開源架構比如Picasso,對Picasso的第一次印象就不太好,初次接觸是拿到了公司剛從外包公司接手過來的圖片社交類app,對記憶體佔用太大,直接感受就是導致ListView滑動有那麼
Time of Update: 2017-01-19
前言:上篇我們總結了Bitmap的處理,同時對比了各種處理的效率以及對記憶體佔用大小,點擊查看。我們得知一個應用如果使用大量圖片就會導致OOM(out of memory),那該如何處理才能近可能的降低oom發生的機率呢?之前我們一直在使用SoftReference軟引用,SoftReference是一種現在已經不再推薦使用的方式,因為從 Android 2.3 (API Level
Time of Update: 2017-01-19
前言:最近準備研究一下圖片緩衝架構,基於這個想法覺得還是先瞭解有關圖片緩衝的基礎知識,今天重點學習一下Bitmap、BitmapFactory這兩個類。 Bitmap:Bitmap是Android系統中的影像處理的最重要類之一。用它可以擷取影像檔資訊,進行映像剪下、旋轉、縮放等操作,並可以指定格式儲存影像檔。 重要函數 •public void recycle() //
Time of Update: 2017-01-19
IOS相比於Android,動畫效果是一方面優勢,IOS相機切換時滑動的動畫很不錯,看著是有一個3D的效果,而且變化感覺很自然。Android也可以通過Graphics下面的Camera可以實現3D效果,開始嘗試著用這個做了一下,效果不理想,滑動之後各組文字之間的距離就變了,從立體空間來說這是合邏輯的,但是看著很別捏。IOS相機的滑動效果文字之間的間隔在滑動的時候是不變的。後面通過調整TextView
Time of Update: 2017-01-19
要使用MD風格控制項,首先需要在Gradle中加入Support Design Library,例如:compile 'com.android.support:design:24.1.1'一、CoordinatorLayout1、CoordinatorLayout + AppBarLayout布局檔案代碼如下:<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/
Time of Update: 2017-01-19
前言:前兩篇介紹了自訂控制項的基礎原理Android自訂控制項基本原理詳解(一)、Android自訂控制項之自訂屬性(二)。今天重點介紹一下如何通過自訂群組合控制項來提高布局的複用,降低開發成本,以及維護成本。使用自訂群組合控制項的好處?我們在項目開發中經常會遇見很多相似或者相同的布局,比如APP的標題列,我們從三種方式實現標題列來對比自訂群組件帶來的好處,畢竟好的東西還是以提高開發效率,降低開發成本為導向的。 1.)第一種方式:直接在每個xml布局中寫相同的標題列布局代碼
Time of Update: 2017-01-19
前言:上篇介紹了自訂控制項的基本要求以及繪製的基本原理,本篇文章主要介紹如何給自訂控制項自訂一些屬性。本篇文章將繼續以上篇文章自訂圓形百分比為例進行講解。有關原理知識請參考Android自訂控制項基本原理詳解(一)這篇文章。 需求產生背景:為何要引入自訂屬性?當Android提供的原生屬性不能滿足實際的需求的時候,比如我們需要自訂圓形百分比半徑大小、圓形背景、圓形顯示的位置、圓形進度的背景等等。這個時候就需要我們自訂屬性了。 自訂屬性步驟:1.)在res/values檔案下添
Time of Update: 2017-01-19
前言:在日常的Android開發中會經常和控制項打交道,有時Android提供的控制項未必能滿足業務的需求,這個時候就需要我們實現自訂一些控制項,今天先大致瞭解一下自訂控制項的要求和實現的基本原理。自訂控制項要求: 1. 應當遵守Android標準的規範(命名,可配置,事件處理等)。 2. 在XML布局中科配置控制項的屬性。 3.
Time of Update: 2017-01-19
前言:前面幾篇講了自訂控制項繪製原理Android自訂控制項基本原理詳解(一) ,Android自訂控制項之自訂屬性(二) ,Android自訂控制項之自訂群組合控制項(三)
Time of Update: 2017-01-19
Gesture在 ViewGroup中使用GestureDetector類可以讓我們快速的處理手勢事件,如點擊,滑動等。 使用GestureDetector分三步: 1. 定義GestureDetector類 2. 初始化手勢類,同時設定手勢監聽 3. 將touch事件交給gesture處理先來瞭解一下如何使用,後面會有樣本:package com.example.y2222.myview;import android.content.Context;import
Time of Update: 2017-01-19
這裡也要簡單說一下,這些小模組並不是我原創,也是當時查資料找到的,由於時間比較久,原文連結已經忘記了,所以這裡就不列出引用連結了。不過這些代碼我都修改、完善過,也添加了一些注釋,希望對大家有協助。文字描邊這個功能挺實用的,如果是單一背景下顯示文字,文字描邊也可起到裝飾作用。如果是複雜背景下,尤其是在不同圖片背景下顯示文字,因為文字顏色很容易和圖片背景相似,這樣導致文字看不清楚,使用者體驗不佳。如果文字經過不同顏色描邊後,文字輪廓部分一種顏色,文字內部另一種顏色,因為一般情況下,圖片要麼和文字輪廓
Time of Update: 2017-01-19
一、匯入*.jar包1.直接copy①複製*.jar包,粘貼到主工程目錄的libs下邊②右鍵,將此jar包設定成自己的library③然後在工程右鍵的選擇項目單擊Open Module Settings,在Dependencies中選擇添加檔案 這樣,就表示jar包添加成功了。開啟app目錄下的build.gradle表示添加成功。2.build.gradle裡邊添加一句:複製代碼 代碼如下:compile fileTree(include: ['*.jar'], dir:
Time of Update: 2017-01-19
Dialog和Toast所有人肯定都不會陌生的,這個我們平時用的實在是太多了。而Snackbar是Design Support庫中提供的新控制項,有些朋友可能已經用過了,有些朋友可能還沒去瞭解。但是你真的知道什麼時候應該使用Dialog,什麼時候應該使用Toast,什麼時候應該使用Snackbar嗎?本篇文章中我們就來學習一下這三者使用的時機,另外還會介紹一些額外的技巧。1.
Time of Update: 2017-01-19
很多APP中都實現了類似引導頁的自動輪播,不由得想到昨天的引導頁上修改一下代碼實現輪播。 其實大體上只需要添加一個線程迴圈執行就可以了。 項目已同步至:https://github.com/nanchen2251/viewpagerDemo 同樣的先上圖 直接上代碼,注釋都全的,我想這樣更有利於理解。 先改了Adapter package com.example.nanchen.taketurnplaydemo;import
Time of Update: 2017-01-19
對於使用listView配合adapter進行重新整理的方法大家都不陌生,先重新整理adapter裡的資料,然後調用notifydatasetchange通知listView重新整理介面。方法雖然簡單,但這裡面涉及到一個效率的問題,調用notifydatasetchange其實會導致adpter的getView方法被多次調用 (畫面上能顯示多少就會被調用多少次),如果是很明確的知道只更新了list中的某一個項的資料(比如使用者點擊list某一項後更新該項的顯示狀態,或者
Time of Update: 2017-01-19
我們在使用ListView的時候,一般都會為ListView添加一個響應事件android.widget.AdapterView.OnItemClickListener。本文主要在於對OnItemClickListener的position和id參數做詳細的解釋,我相信有些人在這上面走了些彎路。先來看一下官方的文檔position The position of the view in the adapter.id The row id of the item that was clicked.
Time of Update: 2017-01-19
在App內潛入分享到微信好友或朋友圈的功能想必大家已經屢見不鮮了,比如Android分享一個網頁資訊(URL)到微信用戶端的代碼: /** * 微信分享:分享網頁 * @param context * @param url * @param title * @param description * @param scene */ public static void shareToWeChatWithWebpage(Context context, String url, String
Time of Update: 2017-01-19
前言記憶體流失簡單地說就是申請了一塊記憶體空間,使用完畢後沒有釋放掉。它的一般表現方式是程式已耗用時間越長,佔用記憶體越多,最終用盡全部記憶體,整個系統崩潰。由程式申請的一塊記憶體,且沒有任何一個指標指向它,那麼這塊記憶體就泄露了。從使用者使用程式的角度來看,記憶體流失本身不會產生什麼危害,作為一般的使用者,根本感覺不到記憶體流失的存在。真正有危害的是記憶體流失的堆積,這會最終消耗盡系統所有的記憶體。從這個角度來說,一次性記憶體流失並沒有什麼危害,因為它不會堆積,而隱式記憶體流失危害性則非常大,