記得在我剛接觸Android的時候對系統連絡人中的特效高度興趣,它會根據手機中連絡人姓氏的首字母進行分組,並在介面的最頂端始終顯示一個當前的分組。如所示: 最讓我感興趣的是,當後一個分組和前一個分組相碰時,會產生一個上頂的擠壓動畫。那個時候我思考了各種方法想去實現這種特效,可是限於功夫不到家,都未能成功。如今兩年多過去了,自己也成長了很多,再回頭去想想這個功能,突然發現已經有了思路,於是立刻記錄下來與大家分享。首先講一下需要提前瞭解的知識點,這裡我們最需要用到的就是SectionIndexer,
今天繼續說一下安卓的菜單,之前介紹了:相信大家對於Metro風格並不陌生,下面就在安卓平台上實現一下這個效果, 實現思路: 利用動畫來實現移動的效果,使用的是TranslateAnimation這個方法。先看一下布局檔案: activity_main.xml 複製代碼 代碼如下:<?xml version="1.0" encoding="utf-8"?> <LinearLayout
以前倒是沒有注意listview的getView會重複執行多次,這次因為布局比較複雜,所以在測試的時候去斷點跟蹤,發現同一條資料不斷的重複執行。覺得很奇怪,於是上網搜尋了一下。網上的解釋基本一致,就是ListView布局時height和width都不是fill_parent,導致不斷計算高度,不斷重新整理。或者說它的父容器沒有設定成fill_parent。 可以布局太複雜的情況下,全部按照fill_parent去調整不現實。所以想了另一種方案,就是動態固定高度。
很多人對 Android提供的ImageButton有個疑問,當顯示Drawable圖片時就不會再顯示文字了,其實解決的方法有三種: 第一種:就是圖片中就寫入文字,但是這樣解決會增加程式體積,同時寫入程式碼方式會影響多國語言的發布。 第二種:解決方案很簡單,通過分析可以看到ImageButton的 layout,我們可以直接直接繼承,添加一個TextView,對齊為右側即可實現ImageButton支援文字右側顯示。 第三種:更簡潔效率的方法:使用Button ,然後設定Button 的
Android裡有兩個類android.view.GestureDetectorandroid.view.GestureDetector.SimpleOnGestureListener(另外android.widget.Gallery好像是更牛x的OnGestureListener )1)建立一個類繼承SimpleOnGestureListener,HahaGestureDetectorListener可以實現以下event事件。boolean onDoubleTap(MotionEvent
圖庫在播放投影片時,按power鍵滅屏,然後再亮屏,會發現投影片繼續在播放,沒有顯示keyguard。如何在亮屏後顯示解鎖介面。 修改方法是去掉FLAG_SHOW_WHEN_LOCKED標誌位,在ICS2、JB和JB2上的修改位置略有不同。 1、在ICS2和JB版本上,修改Gallery2\src\com\android\gallery3d\app\ActivityState.java檔案中SCREEN_ON_FLAGS ,如下: 複製代碼 代碼如下:private static final
檔案main.java複製代碼 代碼如下:package com.HHBrowser.android;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.util.Log;import android.view.View;import android.webkit.WebView;import
Android 1.5之後將調節亮度的api隱藏了,不過android的源碼中依然有方法可以實現,如下:複製代碼 代碼如下:IPowerManager power = IPowerManager.Stub.asInterface(ServiceManager .getService("power")); if (power != null) { power.setBacklightBrightness(brightness);
情景模式的設定大家應當相當熟悉了,但是在Android中如何通過自己的程式進行情景模式的設定呢,情景模式分為多種多種,即可以使用系統內建的,也可以使用自訂的,但是在開發某些程式時,可能需要在程式中更改情景模式,那麼此就需要進行情景模式的設定。下面簡單介紹一下情況模式的設定方式:首先擷取當前的情景模式:代碼 複製代碼 代碼如下:void getInitring(AudioManager audio) { //取得手機的初始音量,並初始化進度條 int
本來LCD應該是800*600的,但總是得到600*600的結果。經過好幾天的努力,才解決:複製代碼 代碼如下:<http://schemas.android.com/apk/res/android>" package="myb.x2.app2" android:versionCode="1" android:versionName="1.0">
廢話少說,直接,有圖有真相。這兩個工具列全是用布局來實現的。底部工具列布局代碼:代碼複製代碼 代碼如下: < xmlns:android="http://schemas.android.com/apk/res/android" android:background="@drawable/bottom" android:layout_width="fill_parent" android:layout_height="wrap_content" >
LinearLayout是線性布局控制項,它包含的子控制項將以橫向或豎向的方式排列,按照相對位置來排列所有的widgets或者其他的containers,超過邊界時,某些控制項將缺失或消失。因此一個垂直列表的每一行只會有一個widget或者是container,而不管他們有多寬,而一個水平列表將會只有一個行高(高度為最高子控制項的高度加上邊框高度)。LinearLayout保持其所包含的widget或者是container之間的間隔以及互相對齊(相對一個控制項的靠右對齊、中間對齊或者靠左對齊)。
很多時候想要設計漂亮的Android UI,使用Android內建的控制項無法滿足我們的需要就要考慮自繪控制項,在Android介面顯示類View,可以通過繼承擴充重寫相關方法來實現我們的圖形繪製。 首先我們需要瞭解下View類的底層實現,在SDK中我們可以看到View直接繼承於Java的基類Object,實現了圖形繪製和按鍵事件 Drawable.Callback
在開發android的應用中,有時候需要限制橫豎屏切換。只需要在AndroidManifest.xml檔案中加入android:screenOrientation屬性限制。ndroid:screenOrientation="landscape"是限制此頁面橫屏顯示, ndroid:screenOrientation="portrait"是限制此頁面數豎屏顯示。 例如:我現在想讓所有的頁面不管怎麼樣都豎屏顯示,則我的AndroidManifest.xml應該這樣寫: 複製代碼 代碼如下:http:
大家都知道,我們在進行android項目開發時,當涉及到需要存取資料,也就是需要進行資料的互動時,我們就需要把資料存放在虛擬設備的data 檔案夾中。之前在相關書籍中瞭解到如何把檔案上傳到裝置,如前面所說的mp3,mp4播放器中需要上傳到裝置中的音頻及視頻檔案。方法如下:C:> adb push c:codesamplevideo.mp4 /data/samplevideo.mp4 今天在網上無意中又瞭解到了如何進入裝置的背景命令,希望對大家有協助。 可以使用 adb shell
一、隱藏標題列複製代碼 代碼如下: //隱藏標題列 this.requestWindowFeature(Window.FEATURE_NO_TITLE);二、隱藏狀態列複製代碼 代碼如下: //隱藏狀態列 this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
Android提供了Invalidate方法實現介面重新整理,但是Invalidate不能直接線上程中調用,因為他是違背了單執行緒模式:Android
查看最新訊息要用到類似新浪微博下拉重新整理 功能!把最新的訊息顯示在最上面! 代碼如下: PullToRefreshListView類代碼 複製代碼 代碼如下:package com.markupartist.android.widget; import java.util.Date; import com.markupartist.android.example.pulltorefresh.R; import android.content.Context; import
今天整理了一下Android下對IME的操作:具體如下 一、開啟IME視窗: 複製代碼 代碼如下:InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); // 接受軟鍵盤輸入的編輯文本或其它視圖 imm.showSoftInput(submitBt,InputMethodManager.SHOW_FORCED);
主要介紹Android中如何使用rotate實現圖片不停旋轉的效果。Android 平台提供了兩類動畫,一類是 Tween 動畫,即通過對情境裡的對象不斷做映像變換(平移、縮放、旋轉)產生動畫效果;第二類是 Frame 動畫,即順序播放事先做好的映像,跟電影類似。本文分析 Tween動畫的rotate實現旋轉效果。 在新浪微部落格戶端中各個操作進行中時activity的右上方都會有個不停旋轉的表徵圖,類似重新整理的效果,給使用者以操作中的提示。這種非模態的提示方式推薦使用,那麼下面就分享下如何?