viewpager源碼
㈠ android bootstrap好用嗎
android-bootstrap 是一個模板/引導/樣板文件的應用程序,包括大量的優秀的開放源碼工具和框架。Bootstrap 是html5的,android中嵌入webview瀏覽器來展示html5的話,可以用到Bootstrap。Android Bootstrap 包含一個完整實現:Fragments, Fragment Pager, Account Manager, android-maven-plugin, Dagger, ActionBarSherlock 4, ViewPagerIndicator, http-request, GSON, Robotium for integration testing, API Consumption with an API on Parse.com and much more.
㈡ android pdf如何實現發大後下一頁
是接入第三方的jar包(如android-pdfview、AndroidPdfViewer
、PdfViewPager、MuPdf等)這裡面接入到項目里增加APP體積最小的就屬android-pdfview了,但是也是增加了4m左右,這還是我只加了arm和arm-v7a,但是這個jar包有個致命的大坑,就是不能播放帶有超鏈接的pdf文件,會報類型轉換錯誤的crash,這個是我項目快要上線才發現的問題,而且作者也停更了,網上沒有好的解決方法,只能把源碼導入到項目里在報錯的位置作相應的處理才能解決,而且可能會導致pdf顯示不出來。別的jar包都因為實在是太大了,考慮到APP的體積都放棄了。
2. 是我偶爾發現的官方的simple PdfRendererBasic這個主要是把pdf文件讀出來把每一頁ppt轉成圖片顯示出來,不過這個每次只能顯示一張,雖然可以做一個下一頁按鈕,但是實在是跟我的需求不符就也放棄了。
3.
接入pdf.js。這是個開源的把pdf轉換成圖片的工具,在網上有很多資料,但是大部分都是伺服器解決的,官網上的例子也大部分都是用伺服器解決的例子,android端可能用到的人很少,也沒有詳細的教程,其實很簡單,主要是把pdf.js和pdf.worker.js這兩個js文件考到你項目里的assets文件裡面,然後在你的項目里直接用webview調用就好了。詳細
㈢ android下滑動返回上一個頁面如何實現
android下滑動返回上一個頁面實現的代碼如下:
[java] view plain
package org.sunday.slidingreturn;
import com.example.slidingreturn.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.VelocityTracker;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.LinearLayout;
public class SecondActivity extends Activity implements OnTouchListener {
//手指向下滑動時的最小速度
private static final int XSPEED_MIN = 200;
//手指向下滑動時的最小距離
private static final int XDISTANCE_MIN = 150;
//記錄手指按下時的橫坐標。
private float xDown;
//記錄手指移動時的橫坐標。
private float xMove;
//用於計算手指滑動的速度。
private VelocityTracker mVelocityTracker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Button btn = (Button) findViewById(R.id.btn_second);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(SecondActivity.this, ThirdActivity.class));
overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);
}
});
LinearLayout ll = (LinearLayout) findViewById(R.id.ll_second);
ll.setOnTouchListener(this);
}
// 轉載請說明出處:http://blog.csdn.net/ff20081528/article/details/17845753
@Override
public boolean onTouch(View v, MotionEvent event) {
createVelocityTracker(event);
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
xDown = event.getRawX();
break;
case MotionEvent.ACTION_MOVE:
xMove = event.getRawX();
//活動的距離
int distanceX = (int) (xMove - xDown);
//獲取順時速度
int xSpeed = getScrollVelocity();
//當滑動的距離大於我們設定的最小距離且滑動的瞬間速度大於我們設定的速度時,返回到上一個activity
if(distanceX > XDISTANCE_MIN && xSpeed > XSPEED_MIN) {
finish();
}
break;
case MotionEvent.ACTION_UP:
recycleVelocityTracker();
break;
default:
break;
}
return true;
}
/**
* 創建VelocityTracker對象,並將觸摸content界面的滑動事件加入到VelocityTracker當中。
*/
private void createVelocityTracker(MotionEvent event) {
if (mVelocityTracker == null) {
mVelocityTracker = VelocityTracker.obtain();
}
mVelocityTracker.addMovement(event);
}
/**
* 回收VelocityTracker對象。
*/
private void recycleVelocityTracker() {
mVelocityTracker.recycle();
mVelocityTracker = null;
}
/**
* 獲取手指在content界面滑動的速度。
*
* @return 滑動速度,以每秒鍾移動了多少像素值為單位。
*/
private int getScrollVelocity() {
mVelocityTracker.computeCurrentVelocity(1000);
int velocity = (int) mVelocityTracker.getXVelocity();
return Math.abs(velocity);
}
}
㈣ android studio 怎麼導入magicindicator
請按照如下方法操作即可:
1. 使用 maven 導入。
1) 在最頂層的Build.gradle 中添加如下代碼:
buildscript {
repositories {
maven { url "http://dl.bintray.com/populov/maven" }
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.12.+'
}
}
allprojects {
repositories {
maven { url "http://dl.bintray.com/populov/maven" }
mavenCentral()
}
}
2) 在app』s的build.gradle添加compile 'com.viewpagerindicator:library:2.4.1',
以後想添加什麼第三方的庫,只需要在 http://search.maven.org/ 中搜索,然後添加在第2中就行了。
2. 下載好源碼,添加已經下載好的源碼。
1)下載 source code
2) 在你的 Android Studio Project: File -> Project Structure -> add (+ symbol) -> Import Existing Project,導入library文件夾而不是整個工程 (leave the import options as Android Studio suggests)。
3) 按步驟設置(SDK 版本),然後點擊下一步。
4) 在你app的build.gradle中添加依賴 dependencies { compile project ( ':library' ) }。
注意:如果項目中已經存在了support-v4,需要刪除,因為添加的 Android-ViewPagerIndicator 會包含這個庫。在一個工程中不能有兩個這樣的庫(工程會共用庫中的這個jar)。如果 Android-ViewPagerIndicator Library 中的support-v4 不能滿足你的要求,那隻能用第2種方法,下載好後,把你要的support-v4替換Library文件夾中的,然後按步驟進行即可。
㈤ 如何打開openhab android工程
一、代碼庫
1、from 代碼家
整理比較好的源碼連接
***************************************************************************************************************************************************************************
http://blog.zhan-i.com/?page_id=60
感謝 「代碼家」整理
一、兼容類庫
ActionBarSherlock : Action Bar是Android 3.0後才開始支持的,ActionBarSherlock是讓Action Bar功能支持2.X後的所有平台,而且他會自動的判斷是調用原生Action Bar還是使用擴展ActionBar。在我的小熊詞典里有用到這個庫,而且很多非常知名的App也在使用這個庫。GitHub Official ActionBar科普
Android-ViewPagerIndicator : 這是與ViewPager兼容的一個分頁指示器庫。分頁指示器(Friends 和 Suggested就是分頁,而下面藍色的小條就是指示器,ViewPagerIndicator支持多種樣式的指示器。):GitHub
NineOldAndroids : NineOldAndroids 將 Honeycomb (Android 3.0) 的動畫 API 擴展到了Android 1.0以上。這個庫的作者即是ActionBarSherlock的作者,也是Android-ViewPagerIndicator的作者,Jake Wharton, 非常厲害的一個人,Github關注量超過1.6K,如果你也做Android開發或者即將開始學習Android開發,一定要去Follow他,而且留意一下他每次的star和follow信息,經常會有很驚奇的發現。
HoloEverywhere:在Android 4.0時,Google引入了新的主題風格—Holo,多數廠商都想統一界面設計UI,因此更加具有兼容性的Holo主題庫HoloEveryWhere便成為很多開發者的選擇。在Android的官方Blog中也對HoloEveryWhere這個庫有所推薦,點此查看官方博客對HoloEveryWhere的介紹。HoloEveryWhere的Github。
Android-Datepicker: 兼容Android 4.0的datepicker至Android 2.2。 GitHub
二、擴展功能庫
SlidingMenu : SlidingMenu 能非常容易的讓開發者實現程序的抽屜效果,所謂的抽屜效果如下圖所示,通常被用作呼出菜單。而且SlidingMenu能很方便的與ActionBarSherlock融合,在官方GitHub上有關於如何融合的說明。 GitHub
AppMsg : 優雅的彈出類似Toast的消息提示,支持3種狀態Alert,Confirm以及Info。GitHub
Drag-Sort-ListView : 很多人都用過在一個ListView中通過拖拽對已有的數據進行排序操作。Drag-Sort-Listview就是實現這一功能的開源庫。GitHub
Android-Flip : 輕松實現類似FlipBoard的翻頁功能。 GitHub
Android-PullToRefresh : Android下拉刷新組件。 GitHub 此外,該作者還有另外一個實用度和關注量極高的項目–另一種Android ActionBar的實現:GitHub
picasso: 程序中經常面臨載入網路圖片的情況,成熟做法:非同步下載->緩存->顯示,Picasso一行代碼就可這三步輕松完成。GitHub GitHubPage ,GitHub上圖片非同步載入緩存類庫很多,你也可嘗試使用Android-Universal-Image-Loader 或者 LazyList 後面將介紹到的afinal(國人項目)也具有此功能。
三、工具類庫:
首先,就我個人開發經驗,總結一下平常用到的一些最常用的功能:
下載,比如圖片,文件。
將下載的文件進行解壓。
請求伺服器,比如說上傳登陸信息,更新某些數據,又或者上傳頭像文件。
從文件系統中選擇要操作的文件。
有時候也需要爬取某些網頁數據。
存儲一些配置信息
再有一個特殊需求就是關乎Android程序UI設計,圖標是個很麻煩的問題。每次都難以找到合適的Android 設計UI。
隨後,我將很有針對性的推薦一些功能庫,來簡化上面的問題。
afinal: afinal是一個很方便的工具庫。GitHub 作者博客(註:國人項目喲)
一行代碼就可以對資料庫進行增刪改查。
完全註解方式就可以進行UI綁定和事件綁定。無需findViewById和setClickListener等。
輕松實現Android上傳文件,POST數據,下載文件(支持斷點續傳,隨時停止下載任務 或者 開始任務)。
一行代碼載入網路圖片。
android-async-http: Android下的非同步HTTP庫。GitHub 文檔 PS:作者的GitHub值得關注。
發送非同步http請求,並且可在回調函數中處理返回響應Response。
http請求在thread線程,不會阻塞UI線程。
請求使用線程池(ThreadPool)實現,優化了並發的資源使用。
支持Multipart 文件上傳。
如果Request請求失敗,會自動請求。
支持Json解碼。
支持存儲Cookies到Preference中。
支持gzip處理Request以及Response。
整個庫只有19KB。
async-http-client: Android下的非同步 Http 和 WebSocket 庫。 GitHub
支持代理設置
支持分片兒處理請求返回內容
支持WebSocket
zt-zip: 壓縮和解壓庫。 GitHub
壓縮和解壓
單獨操作文件壓縮和解壓。
替換zip文件中的某個文件
aFileChooser:文件選擇器,用於選擇需要操作的文件 GitHub
jsoup: HTML解析,並且能很好理解DOM,CSS,以及JQuery。GitHub 官方 PS:這是java庫。做網頁爬蟲(Crawler,Robot)必備。
toml:這是個跨語言的配置信息存取方案。GitHub
Androiton-Action-Bar-Icons:一個針對Android 優化過的ICON圖標集。 GitHub Demo
四、圖標資源:
http://iconsparadise.com/ 質量一般,但也是一種選擇
http://iconbench.com/ 在線產生一些小圖標
http://www.androidicons.com/ 圖標質量很不錯,但是要付費($25刀),如果有想合買的可以聯系我~
https://code.google.com/p/android-ui-utils/ 用來在線生成符合Android Design風格的設計圖標。 項目地址
五、一些手冊
Android圖形界面設計手冊,可以用來快速查看圖標的大小、ActionBar的Height等瑣碎的Android Design要求。GitHub
Android 官方UI設計手冊:下載
七、一些視頻
Android Studio 的新特性官方講解視頻,我在官方技術博客上下載下來,上傳到網盤,希望對大家有幫助。下載地址
八、高價值鏈接
Android官方博客 提供一些跟Android相關的即時咨詢。(需要梯子)
Android官方技術博客 主要提供一些新工具(如Android Studio),新技術(如每次更新帶來新特性)的演示和講解。(需要梯子)
AndroidViews Android View組件收集站點。