Time of Update: 2017-01-19
這個是看知乎的時候發現的一個問題,感覺挺有意思,就將自己遇到的坑記錄下來。1、Andorid L theme colorPrimary 不能使用帶有alpha的顏色值,否則會有異常拋出, 直接判斷了是否alpha是否等於0或者255,其他都會異常@Overrideprotected void onApplyThemeResource(Resources.Theme theme, int resid,boolean first) {if (mParent == null)
Time of Update: 2017-01-19
在前一期中,我們做了懸浮頭部的兩個tab切換和下拉重新整理效果,後來項目中要求改成三個tab,當時就能估量了一下,如果從之前的改,也不是不可以,但是要互相記住的狀態就太多了,很容易出現錯誤。就決定重新實現一下這個效果,為此先寫了一個demo,這期間項目都已經又更新了兩個版本了。demo還木有變成文章。之前的版本中是採用了一個可以下拉重新整理的listview,之後在listview中添加了兩個頭部,並且在該布局上的上面用了一個一模一樣的切換tab,如果沒有看過前面版本的,可以看看前一個版本,Li
Time of Update: 2017-01-19
1、 題外話 相信大家對LayoutInflate都不陌生,特別在ListView的Adapter的getView方法中基本都會出現,使用inflate方法去載入一個布局,用於ListView的每個Item的布局。Inflate有三個參數,我在初學Android的時候這麼理解的:(1)對於Inflate的三個參數(int resource, ViewGroup root, boolean attachToRoot);(2)如果inflate(layoutId,
Time of Update: 2017-01-19
本文執行個體為大家分享了Android自訂載入控制項,第一次小人跑動的載入效果眼前一亮,相比傳統的PrograssBar高大上不止一點,於是走起,自訂了控制項LoadingView去實現動態效果,可直接在xml中使用,具體實現如下package com.*****.*****.widget; import android.content.Context;import android.graphics.drawable.AnimationDrawable;import
Time of Update: 2017-01-19
本文為大家分享了Android相機、圖冊基本demo,供大家參考,具體內容如下package com.example.democamera; import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import
Time of Update: 2017-01-19
預覽效果圖:需要許可權:<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> 設定檔:AndroidManifest.xml<activityandroid:name="com.myself.news.activity.GuideActivity"android:label="@string/title_activity_guide" ><intent-
Time of Update: 2017-01-19
上一篇《學習理解Android菜單Menu操作》簡單介紹了一下Android的菜單,今天讓我們看一下如何通過代碼建立和響應最常用的選項菜單(options menu)。一、建立options menu之前提到,Android的activity已經為我們提前建立好了android.view.Menu對象,並提供了回調方法onCreateOptionsMenu(Menu menu)供我們初始化菜單的內容。該方法只會在選項菜單第一次顯示的時候被執行,如果你需要動態改變選項菜單的內容,請使用
Time of Update: 2017-01-19
本文執行個體講述了Android編程實現為應用添加菜單的方法。分享給大家供大家參考,具體如下:添加菜單的方法有很多,一般推薦用xml建立菜單。建立menu步驟:在res下建立一個menu檔案夾,在menu檔案裡面添加一個xml檔案:<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item
Time of Update: 2017-01-19
本文執行個體講述了Android編程之簡單計時器實現方法。分享給大家供大家參考,具體如下:這裡利用ContextMenu(操作功能表),Chronometer實現簡單計數器。Main.xml:<?xml version="1.0" encoding="utf-8"?><LinearLayout
Time of Update: 2017-01-19
本文執行個體講述了Android編程UI設計之GridView和ImageView的用法。分享給大家供大家參考,具體如下:GridView: A view that shows items in two-dimensional scrolling grid. The items in the grid come from the ListAdapter associated with this view.
Time of Update: 2017-01-19
本文執行個體講述了Android編程之監聽器用法。分享給大家供大家參考,具體如下:這裡通過監聽內容提供者資料變化和監聽傳送簡訊進行講解監聽器。如果使用者提供者資料發生了變化,監聽器立刻就能收到對資料庫操作的記錄,而監聽器是採用通知的機制,如果不採用通知的機制也可以做,那就是不斷的查詢資料庫,這樣的話效率就會很低。而採用通知機制的話,當使用者向資料庫發送一條記錄,ContentObserver立刻就能擷取到,我們就可以進行處理資料。監聽內容提供者資料的變化1.在內容提供者中可以通知其他程式資料發生
Time of Update: 2017-01-19
本文執行個體為大家分享了Android建立發送和接收簡訊應用的簡單實現過程,供大家參考,具體內容如下一、接收簡訊項目的結構如下:一個簡單的接收和傳送簡訊的功能1、定義一個接收簡訊的廣播:當手機接收到一條簡訊的時候,系統會發出一條值為android.provider.Telephony.SMS_RECEIVED 的廣播,這條廣播裡攜帶著與簡訊相關的所有資料。// 接收簡訊的廣播class MessageReceiver extends BroadcastReceiver { @Override
Time of Update: 2017-01-19
Activity回顧activity是android程式中最重要的組件之一,它是使用者與android使用者互動的主要組件,類似於傳統型程式的圖形介面。android程式大致可以分為看的見的組件和看不見的service。看得見的組件主要就是在Activity中定義,看不見的service,包括service,BroadCastReceiver,ContentProvider等等,這是後話。今天先來大致瞭解一下activity。可以理解activity為盛放組件的容器,和使用者互動的組件都要放在A
Time of Update: 2017-01-19
什麼是View?實現View滑動的方式有哪些?1. 關於View我們需要知道的(1)什麼是View? Android中的View類是所有UI控制項的基類(Base
Time of Update: 2017-01-19
本篇文章我們來一起寫一個最基本的Android非同步網路請求架構,藉此來瞭解下Android中網路請求的相關知識。由於個人水平有限,文中難免存在疏忽和謬誤,希望大家可以指出,謝謝大家。1. 同步網路請求 以HTTP的GET請求為例,我們來介紹一下Android中一個基本的同步請求架構的實現。直接貼代碼:public class HttpUtils { public static byte[] get(String urlString) {
Time of Update: 2017-01-19
RecyclerView是什嗎?筆者個人看法,RecyclerView只是一個對ListView的升級版,這個升級的主要目的是為了讓這個view的效率更高,並且使用更加方便。我們知道,ListView通過使用ViewHolder來提升效能。ViewHolder通過儲存item中使用到的控制項的引用來減少findViewById的調用,以此使ListView滑動得更加順暢。但這種模式在listview中即使不使用也無妨。換言之,在ListView中你不考慮複用的問題也可以,只是你犧牲了記憶體來方便
Time of Update: 2017-01-19
public BitmapShader(Bitmap bitmap,Shader.TileMode tileX,Shader.TileMode tileY)調用這個類來產生一個畫有一個位元影像的渲染器(Shader)。bitmap:在渲染器內使用的位元影像(1)tileX:The tiling mode for x to draw the bitmap in. 在位元影像上X方向花磚模式(2)tileY:The tiling mode for y
Time of Update: 2017-01-19
一、概述一般大量圖片的載入,比如GridView實現手機的相簿功能,一般會用到LruCache,線程池,任務隊列等;那麼非同步訊息處理可以用哪呢?1、用於UI線程當Bitmap載入完成後更新ImageView2、在圖片載入類初始化時,我們會在一個子線程中維護一個Loop執行個體,當然子線程中也就有了MessageQueue,Looper會一直在那loop停著等待訊息的到達,當有訊息到達時,從任務隊列按照隊列調度的方式(FIFO,LIFO等),取出一個任務放入線程池中進行處理。簡易的一個流程:當需
Time of Update: 2017-01-19
一、概述Handler 、 Looper 、Message 這三者都與Android非同步訊息處理線程相關的概念。那麼什麼叫非同步訊息處理線程呢?非同步訊息處理線程啟動後會進入一個無限的迴圈體之中,每迴圈一次,從其內部的訊息佇列中取出一個訊息,然後回調相應的訊息處理函數,執行完成一個訊息後則繼續迴圈。若訊息佇列為空白,線程則會阻塞等待。說了這一堆,那麼和Handler 、 Looper
Time of Update: 2017-01-19
0、基礎回顧PropertyAnimation,屬性動畫,顧名思義就是利用對象的屬性變化形成動畫的效果。屬性動畫的類可以用Animator這個抽象類別來表示,通常使用它的子類:AnimatorSet和ValueAnimator,同時ValueAnimator有兩個子類分別是ObjectAniamtor和TimeAnimator。定義屬性動畫的XML資源的時候通常可以是如下三個元素之一作為根項目:<set>元素:該資源元素代表的是AniamtorSet類,這個類可以包含<set&