Android編程實(shí)現(xiàn)左右滑動(dòng)切換背景的方法
本文實(shí)例講述了Android編程實(shí)現(xiàn)左右滑動(dòng)切換背景的方法。分享給大家供大家參考,具體如下:
最近想做一個(gè)左右滑動(dòng)切換背景圖片的應(yīng)用,特地將自己的研究分享一下:
這個(gè)需要繼承2個(gè)監(jiān)聽接口 OnGestureListener, OnTouchListener
關(guān)于這2個(gè)接口大家可以在網(wǎng)上查一下
同時(shí)需要設(shè)置2個(gè)屬性
bgLayout.setOnTouchListener(this); bgLayout.setLongClickable(true);
并且在這個(gè)函數(shù)中有如下這幾句話
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return this.mGesture.onTouchEvent(event);
}
附送代碼:
public class SwitcherActivity extends Activity implements OnGestureListener,
OnTouchListener {
/** Called when the activity is first created. */
LinearLayout bgLayout = null;
private GestureDetector mGesture = null;
private int flag = 3;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mGesture = new GestureDetector(this);
bgLayout = (LinearLayout) findViewById(R.id.bg);
bgLayout.setBackgroundResource(R.drawable.bg3);
bgLayout.setOnTouchListener(this);
bgLayout.setLongClickable(true);
}
public boolean onDown(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// 處理左右滑動(dòng)
if (e1.getX() - e2.getX() > 100) { // 向左滑動(dòng)
if (flag == 3) {
bgLayout.setBackgroundResource(R.drawable.bg4);
flag = 4;
return true;
}
if (flag == 4) {
bgLayout.setBackgroundResource(R.drawable.bg5);
flag = 5;
return true;
}
if (flag == 1) {
bgLayout.setBackgroundResource(R.drawable.bg2);
flag = 2;
return true;
}
if (flag == 2) {
bgLayout.setBackgroundResource(R.drawable.bg3);
flag = 3;
return true;
}
} else if (e1.getX() - e2.getX() < -100) { // 向右滑動(dòng)
if (flag == 3) {
bgLayout.setBackgroundResource(R.drawable.bg2);
flag = 2;
return true;
}
if (flag == 2) {
bgLayout.setBackgroundResource(R.drawable.bg1);
flag = 1;
return true;
}
if (flag == 5) {
bgLayout.setBackgroundResource(R.drawable.bg4);
flag = 4;
return true;
}
if (flag == 4) {
bgLayout.setBackgroundResource(R.drawable.bg3);
flag = 3;
return true;
}
}
return false;
}
public void onLongPress(MotionEvent e) {
// TODO Auto-generated method stub
}
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
// TODO Auto-generated method stub
return false;
}
public void onShowPress(MotionEvent e) {
// TODO Auto-generated method stub
}
public boolean onSingleTapUp(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return this.mGesture.onTouchEvent(event);
}
}
更多關(guān)于Android圖片與特效相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)動(dòng)畫技巧匯總》和《Android圖形與圖像處理技巧總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android應(yīng)用強(qiáng)制更新APP的示例代碼
本篇文章主要介紹了Android應(yīng)用強(qiáng)制更新APP的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
Android TV listview及焦點(diǎn)處理
這篇文章主要介紹了Android TV listview及焦點(diǎn)處理的相關(guān)資料,需要的朋友可以參考下2017-06-06
Android三方依賴沖突Gradle中exclude的使用
這篇文章主要介紹了Android三方依賴沖突Gradle中exclude的使用,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
Android實(shí)現(xiàn)閱讀APP平移翻頁(yè)效果
這篇文章主要介紹了Android實(shí)現(xiàn)閱讀APP平移翻頁(yè)效果的具體方法,模仿多看閱讀平移翻頁(yè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03
flutter showModalBottomSheet常用屬性及說(shuō)明
這篇文章主要介紹了flutter showModalBottomSheet常用屬性及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
Android原生TabLayout使用的超全解析(看這篇就夠了)
現(xiàn)在很多app都有頂部可左右切換的導(dǎo)航欄,并且還帶動(dòng)畫效果,要實(shí)現(xiàn)這種導(dǎo)航欄,可以使用Android原生的Tablayout也可以借助第三方框架實(shí)現(xiàn),這篇文章主要給大家介紹了關(guān)于Android原生TabLayout使用的相關(guān)資料,需要的朋友可以參考下2022-09-09
Android App在ViewPager中使用Fragment的實(shí)例講解
這篇文章主要介紹了Android App在ViewPager中使用Fragment的實(shí)例講解,ViewPager組件主要被用來(lái)制作滑動(dòng)切換效果,需要的朋友可以參考下2016-03-03
Android使用CrashHandler來(lái)獲取應(yīng)用的crash信息的方法
本篇文章主要介紹了Android使用CrashHandler來(lái)獲取應(yīng)用的crash信息的方法,具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09
Android 系統(tǒng)實(shí)現(xiàn)多種開機(jī)動(dòng)畫和logo切換功能
這篇文章主要介紹了android 系統(tǒng)實(shí)現(xiàn)多種開機(jī)動(dòng)畫和logo切換功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12

