是的,你沒看錯,是viewflow,不是viewpager,也不是viewflipper。viewflow是乙個開源的android ui庫。它提供了三個元件viewflow、flowindicator和titleflowindicator。它使得由adapter產生的viewgroup中的view可以水平滑動。
一、使用viewflow庫
那麼什麼時候可以使用這個元件呢?文件上說,當你需要在一系列不確定數目的view中滑動時,可以考慮使用viewflow。如果你的view數目確定,你應該使用fragments 或相容庫里的viewpager 。
1、使用viewflow
怎麼使用呢?首先在你的layout檔案中加入:
1
1
然後在你的activity裡面新增如下**用於使用viewflow:
01
viewflow viewflow = (viewflow) findviewbyid(r.id.viewflow);
02
viewflow.setadapter(myadapter);
03
//設定初始view的位置
04
8);
05
//監聽view切換事件,簡單的需求可不監聽
06
viewflow.setonviewswitchlistener(
new
viewswitchlistener()
10
});
當然,你也可以使用該庫中的flowindicator為你在多個view中切換時提供乙個指示器,目前該庫已經實現了兩種指示器:一種是圓點指示器flowindicator;另一種是標題指示器titleflowindicator。
2、使用圓點指示器
圓點指示器可以這樣使用:
先在layout中這樣定義
1
然後在activity中呼叫它
1
circleflowindicator indic = (circleflowindicator)
2
findviewbyid(r.id.viewflowindic);
3
viewflow.setflowindicator(indic);
圓點指示器還支援activecolor、inactivecolor、activetype(填充或描邊)、inactivetype(填充或描邊)、fadeout(設定圓點自動隱藏的秒數,若為0則不會自動隱藏)、radius(圓點的半徑)等。
3、使用標題指示器
標題指示器也是先layout裡定義:
1
然後在activity中呼叫它:
1
titleflowindicator indicator = (titleflowindicator)
2
findviewbyid(r.id.viewflowindic);
3
indicator.settitleprovider(mytitleprovider);
4
viewflow.setflowindicator(indicator);
ok,以上就是viewflow庫提供三大元件及其用法(來自其文件),當然你也可以把該元件庫打包成jar呼叫。
要注意的是,如果你使用的android sdk版本是android2.2以下,最好在activity中加上如下方法
1
@override
2
public
void
onconfigurationchanged(configuration newconfig)
滑動迴圈功能通過在adapter的getcount方法要返回integer.max_value。然後在getview方法中,由於position不斷遞增,可以取餘數。並呼叫viewflow.setselection(3*數)來實現迴圈。
01
02
public
void
startautoflowtimer()
10
};
11
12
message message = handler.obtainmessage(
0
);
13
handler.sendmessagedelayed(message, timespan);
14
}
另外,原viewflow自帶的例子在這裡,直接down的**無法使用,這個**可以直接匯入。裡面有4個例子,分別展示了帶圓點指示器的viewflow、帶標題指示器的viewflow、view結構不同的viewflow及非同步載入view的viewflow。還可以學習下如何設定自定義元件的屬性。
示例** download.csdn.net/detail/chuchu521/5765123
Android使用Application總結
第二步 配置全域性的context 第三步 使用,使用的時候用的時候根據類的名稱訪問context void onconfigurationchanged configuration newconfig void oncreate 這裡才是真正的入口點。void onlowmemory void o...
Android動畫使用
android動畫基本上分為兩個時代,乙個是3.0 api14 之前的animation動畫,乙個是3.0之後的animator動畫。採用animatorset和objectanimator配合,使用objectanimator進行更精細化控制,並且能夠自動驅動,多個objectanimator組合...
Android 使用Databinding遇到的坑
modle的get和set方法名稱在get set之後的第乙個字母一定要大寫 gradle裡面的apt版本要1.6以上,現在用的是1.8 和butterknife一起用的時候,需要在butterknife呼叫init 之後設定binding的set x方法設定資料物件 如果出現錯誤,一般在錯誤的最後...