調用後動態壁紙其實是顯示在Activity的後面,而Activity則是透明顯示,這樣就可以看到下面的動態壁紙,如果Activity不是透明的則什麼也看不到。代碼中有用到兩個介面IWallpaperService mService;IWallpaperEngine mEngine;我們可以看到該目錄下面有三個aidl介面,分別是複製代碼 代碼如下:interface IWallpaperConnection { void attachEngine(IWallpaperEngine
如果我們需要根據設定中的觸摸震動開關來開啟和取消滑動解鎖的震動效果,就需要做以下修改了。 在LockScreen.java類中的LockScreen方法中的複製代碼 代碼如下:else if (mUnlockWidget instanceof MultiWaveView) { MultiWaveView multiWaveView = (MultiWaveView) mUnlockWidget;
如何判斷檔案呢? 可以通過Cursor遍曆資料庫,對比INTERNAL_CONTENT_URI欄位的值,這是一個Uri,這裡儲存著Android手機SD卡上的多媒體檔案完整路徑。[java]複製代碼 代碼如下:Uri originalUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; //若為視頻則為MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
複製代碼 代碼如下:/* * Java檔案操作 擷取副檔名 * */ public static String getExtensionName(String filename) { if ((filename != null) && (filename.length() > 0)) { int dot = filename.lastIndexOf('.'); if
網上關於這個方面的文章也不少,基本的思路是線程+緩衝來解決。下面提出一些最佳化: 1、採用線程池 2、記憶體緩衝+檔案快取 3、記憶體緩衝中網上很多是採用SoftReference來防止堆溢出,這兒嚴格限制只能使用最大JVM記憶體的1/4 4、對下載的圖片進行按比例縮放,以減少記憶體的消耗 具體的代碼裡面說明。先放上記憶體緩衝類的代碼MemoryCache.java: 複製代碼 代碼如下:<SPAN style="FONT-SIZE:
直接上代碼和圖片。情況一:[html]複製代碼 代碼如下:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"
具體代碼如下:main.xml複製代碼 代碼如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:background="#000000" android:layout_width="fill_parent"
Android中很重要的一個機制就是線程+訊息,當然線程並不是android專屬的,下面,簡單的說說使用線程的時候應該注意的地方我們採用最簡單的方法來建立一個android的線程+訊息的例子1.Thread + Handler[java]複製代碼 代碼如下:package com.example.test_thread; import android.app.Activity; import android.os.Bundle; import android.os.Handler;
在android中,照相功能系統已經提供,在app中可以直接使用。當手機從android play裡面下載有照相功能的應用時, 會判斷手機是否支援。不支援,不給予下載。照相有幾個步驟:1. 聲明許可權2. 使用Camera照相3. 顯示圖片1. 聲明許可權在manifest裡面聲明使用Camera:複製代碼 代碼如下:<uses-feature android:name="android.hardware.camera" /> 2.
手機裝置太多,解析度也不一樣,看到網上大部分的適應字型的方法是定義values320×480或value-hdpi方式去處理。採用第一種的就慘了,很多裝置的解析度是不一樣的,難道要每種都定義嗎?採用第二種的在平板電腦裡沒有效果。最後還是代碼的方式方便快捷。。。[java]複製代碼 代碼如下://遍曆設定字型 public static void changeViewSize(ViewGroup viewGroup,int screenWidth,int screenHeight)
這陣子在做Lephone的適配,測試組提交一個bug:標題列的文字較長時沒有顯示完全,其實這並不能算個bug,並且這個問題在以前其他機器也沒有出現,只是說在Lephone的這個平台上顯示得不怎麼美觀,因為聯想將原生的標題列UI進行了修改。修改的過程中遇到了一個難題,系統內建的那個標題列進度總能夠到達100%後漸退,但是我每次最後到100%那一段顯示不全,嘗試了用線程程式死了卡主了不說,還是一樣的效果,後來同事一句話提醒了我用動畫。確實是這樣我猜系統的也是這樣實現的,等進度到達100%後,用動畫改
首先你得寫好xml檔案,這也是最主要的。然後,在activity中加入一個線程,延時2秒,用來跳轉到主介面。activity中線程代碼如下:(順便檢測一下網路是否開啟)[java] 複製代碼 代碼如下:@Override protected void onStart() { super.onStart(); if(<SPAN style="COLOR: #ff0000">isNetworkConnected()</SPAN>){
工作內容集中到Contact模組,這個應用查詢資料的地方很多,其使用了CursorLoader這個工具大大簡化了代碼複雜度。android自3.0提供了Loader機制,當時google的API只是簡單的介紹了一下沒有給出用法,大家很少有關注。後來因為重度模型下的效能最佳化,R&D的朋友發現這個東西非常給力,這才開始注意到這個強大的工具。CursorLoader是Loader的子類,可以說是Loader的升級版。這篇小結以loader為基礎說明,弄懂原理之後也就明白了CursorLoad
先看:首先,你得寫一個類我們命名為CornerListView[java]複製代碼 代碼如下:/** * 圓角ListView樣本 * @Description: 圓角ListView樣本 * @FileName: CornerListView.java */ public class CornerListView extends ListView { public CornerListView(Context context) { super(context);
很多人對 Android提供的ImageButton有個疑問,當顯示Drawable圖片時就不會再顯示文字了,其實解決的方法有三種: 第一種:就是圖片中就寫入文字,但是這樣解決會增加程式體積,同時寫入程式碼方式會影響多國語言的發布。 第二種:解決方案很簡單,通過分析可以看到ImageButton的 layout,我們可以直接直接繼承,添加一個TextView,對齊為右側即可實現ImageButton支援文字右側顯示。 第三種:更簡潔效率的方法:使用Button ,然後設定Button 的
部分客戶客戶使用第三方視頻播放器,有立體聲與單聲道之間切換,發現切換後無作用 原因是由於在HAL層預設沒有處理上層發的stereo 轉mono的命令,所以會沒有效果, 可按如下修改,添加相關處理: 1修改AudioMTKHardware.cpp 添加:static String8 keySetStereo2MonoMode = String8("EnableStereoOutput"); 2.修改status_t AudioMTKHardware::setParameters(const
1.修改FMRadioService.java 添加: 複製代碼 代碼如下:public static final int MSG_EXIT_FM = 1234; private Handler sHandler11 = new Handler() { @Override public void handleMessage(Message msg) { FMRadioLogUtils.d(TAG, "sHandler11 = " + msg.what); switch (msg.what) {
Android裡有兩個類android.view.GestureDetectorandroid.view.GestureDetector.SimpleOnGestureListener(另外android.widget.Gallery好像是更牛x的OnGestureListener )1)建立一個類繼承SimpleOnGestureListener,HahaGestureDetectorListener可以實現以下event事件。boolean onDoubleTap(MotionEvent
在nvram_cust_pack.c中COMMON_NVRAM_EF_SMSAL_COMMON_PARAM_DEFAULT 複製代碼 代碼如下:kal_uint8 const COMMON_NVRAM_EF_SMSAL_COMMON_PARAM_DEFAULT[] = { #if defined (__CS_SERVICE__) && defined (__SMS_OVER_PS_SUPPORT__) 0x03, /* bearer service : GSM prefer */
複製代碼 代碼如下:public class LoadActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE);// 去掉標題列