Time of Update: 2017-01-18
在縱向RecyclerView嵌套橫向RecyclerView時,如果縱向RecyclerView有下拉重新整理功能,那麼內部的橫向RecyclerView的橫向滑動體驗會很差.(只有純橫向滑動時,才能滑動內部的橫向RecyclerView,否則滑動事件就會影響到下拉重新整理),添加攔截判斷.public class MySwipeRefreshLayout extends SwipeRefreshLayout { private boolean mIsVpDragger; private
Time of Update: 2017-01-18
相關閱讀:Android開發架構之自訂ZXing二維碼掃描介面並解決取景框展開問題此項目源碼地址:請點擊這裡看一下zxing的項目結構,我這裡直接拿過來用的 看一下掃碼的activity:package com.fanyafeng.barcode.activity;import android.content.Intent;import android.graphics.Bitmap;import android.net.Uri;import
Time of Update: 2017-01-18
有時候我們需要在EditText 輸出完之後 需要在鍵盤出現 右下角變成“Go”或“前往 搜尋時;通常我們需要設定Android:imeOptions屬性。Android:imeOptions的值有actionGo、 actionSend 、actionSearch、actionDone等但是今天我發現設定了無效 那是因為我設定了 android:maxLines="1"解決方案 就是去掉 android:maxLines="1" 設定
Time of Update: 2017-01-18
系統: lc android4.4 在做前後網路攝影機錄影的時候,發現會出現花屏的時候,但不是必現,可能會在某一次重啟之後會出現,而且出現之後會處於必現狀態,除非再一次重啟。百度了很多解決方案,什麼通過設定camera.unlock之類的,都是無法解決的,後面不斷嘗試,解決方案如下:設定預覽解析度:Camera.Parameters parameters = camera.getParameters();parameters.setPreviewSize(width,
Time of Update: 2017-01-18
Android模擬器安裝APP出現INSTALL_FAILED_NO_MATCHING_ABIS錯誤解決方案當我們想在電腦的Android模擬器中安裝APP的時候,會報INSTALL_FAILED_NO_MATCHING_ABIS錯誤【如圖1】,導致APP無法在模擬器中運行。下面給出我的解決方案,希望能對你有所協助!Android模擬器下安裝APP報INSTALL_FAILED_NO_MATCHING_ABIS錯誤解決方案【圖1】adb install
Time of Update: 2017-01-18
我們在用手機的時候,如果來了簡訊,而我們沒有點擊查看的話,是不是在手機的最上邊的狀態列裡有一個簡訊的小表徵圖提示啊?你是不是也想實現這種功能呢?今天的Notification就是解決這個問題的。我們也知道Android系統也是在不斷升級的,有關Notification的用法也就有很多種,有的方法已經被android拋棄了,現在我實現了三種不同的方法,並適應不同的android版本。現在我就把代碼公布出來,我喜歡把解釋寫在代碼中,在這裡我就不多說了,先看效果圖:再看代碼,主要的代碼如下:packa
Time of Update: 2017-01-18
樣本一:實現通知欄管理當針對相同類型的事件多次發出通知,作為開發人員,應該避免使用全新的通知,這時就應該考慮更新之前通知欄的一些值來達到提醒使用者的目的。例如我們手機的簡訊系統,當不斷有新訊息傳來時,我們的通知欄僅僅是更改傳來簡訊的數目,而不是對每條簡訊單獨做一個通知欄用於提示。修改通知可以設定一條通知,當然可以更新一條通知,我們通過在調用NotificationManager.notify(ID,
Time of Update: 2017-01-18
Android打電話有兩種實現方法:第一種方法,撥打到電話跳轉到撥號介面。原始碼如下:Intent intent = new Intent(Intent.ACTION_DIAL);Uri data = Uri.parse("tel:" +
Time of Update: 2017-01-18
Gradle編譯打包Android apk詳細介紹理解Gradle構建過程,解讀Android Gradle外掛程式的配置閱讀本文一定是要使用過Gradle產生apk,文中不會講如何安裝運行Gradle,如有需要可先看文末的參考文章。APK包是一個ZIP壓縮包,從Java原始碼、資源檔到產生這個APK,經過了編譯打包一系列特定的過程,SDK文檔(/docs/tools/building/index.html)中找到。而這一系列特定的過程,重複繁瑣,構建工具(build
Time of Update: 2017-01-18
當我們想通過鈴聲或者震動提醒使用者的時候(類似於手機來電提醒介面),我們需要考慮到手機本身的情景模式。(目前有個OPPO的測試手機就發現,即使調為了靜音,我依舊可以將鈴聲播放出來),為了防止“靈異”事件的發生,所以在提示前將情景模式判斷以便還是有必要的,特地將代碼紀錄。 1、擷取手機情景模式:AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);int ringerMode =
Time of Update: 2017-01-18
模仿支付寶輸入效果,實現很簡單,就是畫個矩形框和圓形,其他的通過組合view來實現所有功能,雖然簡單但是封裝起來,方便以後使用,也分享一下,希望對別人也有點協助。 1、如何使用,可以設定自己的進入退齣動畫,不設定則沒有動畫效果,自己覺得封裝之後還是非常用好的。private MyInputPwdUtil myInputPwdUtil;@Overrideprotected void onCreate(Bundle savedInstanceState)
Time of Update: 2017-01-18
一、 看效果二、上代碼package com.framework.widget;import android.app.Activity;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import
Time of Update: 2017-01-18
最近在開發瀏覽器碰到這麼一個需求:點擊地址欄的時候,需要全選並調出鍵盤,再次點擊就取消全選顯示光線標。點擊螢幕除地址欄其他位置時,鍵盤隱藏,隱藏游標。大部分瀏覽器都是這樣的邏輯,這樣可以提高使用者體驗,減少操作。代碼很簡單,這裡我簡化了邏輯,頁面只有一個EditText。布局檔案如下:裡面有兩個屬性需要注意android:focusable="true"android:selectAllOnFocus="true"完整布局檔案<?xml version="1.0"
Time of Update: 2017-01-18
shape用於設定形狀,可以在selector,layout等裡面使用,有6個子標籤,各屬性如下: <?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 圓角 --> <corners android:radius="9dp"
Time of Update: 2017-01-18
怎麼才能動態實現時間呢?也許剛入行的你不懂。如果不懂得話,請看代碼(代碼是最好的老師)。大笑public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); textView=(TextView) findViewById(R.id.time); handler = new Handler()
Time of Update: 2017-01-18
應用小掛件(也叫做視窗小掛件)在android1.5的時候被第一次引出,後來再android3.0和android3.1中得到了極大的發展,他們可以展示一些應用的常用資訊或者一些相關的資訊到案頭上,標準的Android系統鏡像中有很多內建的創口小掛件,例如:鬧鐘、音樂等Figure 1. Example app widgets in Android 4.0.本文將描述怎麼去設計小掛件,以便於能很好的與其他掛件搭配的很默契,同時也會介紹一些小技巧。AppWidget 剖析 &
Time of Update: 2017-01-18
前言Context,在翻譯為上下文,也可以理解為環境,是提供一些程式的運行環境基礎資訊。基本上在開發項目的時候,時刻都有接觸到。Android程式不像Java程式,隨便建立一個類,寫個main()方法就能跑,而是要有一個完整的Android工程環境,在這個環境下,有像Activity、Service、BroadcastReceiver等系統組件,而這些組件並不是像一個普通的Java對象new一下就能建立執行個體的了,而是要有它們各自的上下文環境,也就是Context。可以說Context是維持A
Time of Update: 2017-01-18
昨天看了下RenderScript的官方文檔,發現RenderScript這廝有點牛逼。無意中發現ScriptIntrinsic這個抽象類別,有些很有用的子類。其中有個子類叫ScriptIntrinsicBlur類,大致就是將圖片實現高斯模糊。ScriptIntrinsic的申明:ScriptIntrinsicBlur類的申明:加上結合著看了下SDK中的samples,自己寫了個高斯模糊。 ( sample的具體位置為:
Time of Update: 2017-01-18
前言本文主要介紹的是簡訊驗證碼功能,這裡總結了兩種常用的方式,可以直接拿來使用。看圖計時器說明:這裡的及時從10開始,是為了示範的時間不要等太長而修改的。方法如下1、第一種方式:Timer/** * Description:自訂Timer * <p> * Created by Mjj on 2016/12/4. */public class TimeCount extends CountDownTimer { private Button button;
Time of Update: 2017-01-18
我們在使用APP的過程中,軟體會偶爾提示我們進行版本更新,我們點擊確認更新後,會在通知欄顯示下載更新進度(已知長度的進度條)以及安裝情況(不確定進度條),這就是我們今天要實現的功能。實現效果如下:在代碼實現功能前,我們先解釋進度條的兩種狀態:(1)顯示一個已知長度的進度條指標(Displaying a fixed-duration progress indicator)為了能夠顯示一個確定的進度條,通過調用setProgress() setProgress(max, progress,