### 1、ViewFlipper——多頁面管理控件,實現子界面的自動切換
(1)為ViewFlipper加入View:A.靜態導入(在Layout布局文件中直接添加View控件); B.動態導入(addView())
(2)設置進入動畫:setInAnimation();
設置退出動畫:setOutAnimation();
設置視圖切換自動播放時間間隔:setFlipInterval();
開始播放:startFlipping();
(3)設置支持手勢活動:
~~~
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
switch (event.getAction()) {
//手指落下
case MotionEvent.ACTION_DOWN: {
startX=event.getX();
break;
}
//手指滑動
case MotionEvent.ACTION_UP:
{
//向右滑動
if(event.getX()-startX>50)
{
flipper.setInAnimation(this, R.anim.left_in);
flipper.setOutAnimation(this, R.anim.left_out);
flipper.showNext();
}
//向左滑動
if(startX-event.getX()>50)
{
flipper.setInAnimation(this, R.anim.right_in);
flipper.setOutAnimation(this, R.anim.right_out);
flipper.showPrevious();
}
break;
}
}
//手指離開
case MotionEvent.ACTION_UP:
{
break;
}
return super.onTouchEvent(event);
}
~~~
### 2、ScrollView——內容很多,屏幕顯示不完,通過滾動來顯示完整的視圖
(1)ScrollView種類:A. HorizontalScrollView:水平滾動視圖;B.ScrollView:垂直滾動視圖;
(2)屬性:設置不顯示滾動條:Android:scrollbars="none";
(3)代碼設置隱藏滾動條:setHorizontalScrollBarEnabled(false);setVerticalScrollBarEnabled(false);
(4)監聽器:setOnTouchListenter()
~~~
scroll.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE: {
/**
* (1)getScrollY()————滾動條滑動的距離
* (2)getMeasuredHeight()
* (3)getHeight()
*/
// 頂部狀態
if (scroll.getScrollY() <= 0) {
Log.i("Main", "滑動到頂部");
}
// 底部狀態
// TextView的總高度<=一屏幕的高度+滾動條的滾動距離
if (scroll.getChildAt(0).getMeasuredHeight() <= scroll.getHeight() + scroll.getScrollY()) {
Log.i("Main", "滑動到底部");
Log.i("Main",
"scroll.getChildAt(0).getMeasuredHeight()="
+ scroll.getChildAt(0)
.getMeasuredHeight()
+ "scroll,getHeight()="
+ scroll.getHeight()
+ "scroll.getScrollY()="
+ scroll.getScrollY());
tv.append(getResources().getString(R.string.content)); // 刷新、追加
}
break;
}
}
return false;
}
});
}
~~~
(5)scrollTo和scrollBy
scrollTo:以滾動視圖起始位置開始計算;
scrollBy:相對前一次的位置,去滾動相應距離
### 3、Gallery——縮略圖瀏覽器
[http://blog.csdn.net/songshimvp1/article/details/50233727](http://blog.csdn.net/songshimvp1/article/details/50233727)——實際案例
### 4、SeekBar——拖動條
(1)方法:setMax:設置最大數值;
(2)事件監聽:OnSeekBarChangeListenter監聽三個事件:
A. onProgressChanged(); ? ? ?//數值改變
B. onStartTrackingTouch(); ? ?//開始拖動
C. onStopTrackingTouch(); ? ?//停止拖動
(3)自定義SeekBar
看不到源碼時,可以在G:\AndroidWork\adt-bundle-windows-x86-20130917\sdk\platforms\android-18\data\res\drawable中查找! ? ??
- 前言
- Java內部類
- 從一個View向一個Activity跳轉
- Android 與 SQLite
- Android工程A依賴B,B依賴C
- Android重要控件概覽(上)
- Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
- Android布局概覽
- 動態引用APK文件
- Android重要控件概覽(中)
- Android重要控件概覽(下)
- Gallery和ImageSwitcher
- Android之Toast
- Android之Dialog
- Android之Notification
- Android之Menu
- Android Menu中android:showAsAction屬性
- Android SharedPreferences存儲數據的使用方法
- Android手勢識別之GestureDetector
- 不同APP通過SharedPreferences傳遞數據(共享數據)
- 一個自定義的Topbar模板
- 關于Activity回收造成View選中不對應的問題
- Android之Fragment靜態加載