androidはスクリーンスライドを実現します.

3836 ワード

この文章を書く目的は新しい知識を勉強したからです.androidという新しいリーダーにプレッシャーを感じています.早く勉強しなければなりません.この文章はオリジナルですが、コードの一部は私のダウンロードしたデモから来ました.
はい、上の方はたくさんくどいです.まずこの文章のポイントを説明します.もし問題があれば、どのようにスクリーンをメインスクリーンのように実現したいですか?
切り替え効果はありますが、現在のスクリーンの下でスクロールできます.どうやって実現しますか?実際に使う
View Flipper反転ビュー  SrollViewと一緒にすればいいです.考えは以下の通りです.まず私達はView Flippperを配置します.
これはビューの切り替えに使います.このビューFlipperにSrollViewを追加すれば実現できますか?
上下がスクロールしました.ふふっ!そうですよね.このロジックは実行可能ですよ.
じゃ、次に私達は一歩ずつ来ます.まず私達はlayoutのメインプログラムインターフェースmain.xmlに追加します.
View Flipperコンポーネントを定義して、IDを定義して、後でプログラムを使いやすいです.
ラyoutファイルを作成してScrrollViewを定義します.(このscrollViewはあなたがシステムを書き換えるScrrollViewです.必ず書き換えます.書き換えの効果はontouchEventの時にジェスチャーを追加してこの種類のGesture Detectorを探知するためです.そうでないとシステムを使うなら、実現できるかどうかは分かりません.直接的な方法はないです.) 
はい、準備はここにしてからactivityに設定します.
まずはね.やはり全体のmain.xmlのViewを取得します. 

requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);//main         ViewFlipper  
そしてこのView Flippperを取得しました.彼のIdはview Flippperです.

ViewFlipper viewFlipper = (ViewFlipper)findViewById(R.id.viewFlipper);
このオブジェクトを手に入れて一番重要なのは、この反転されたビューの内容を塗りつぶすことです..(内容がないなら、おならをひっくり返してもいいですよ.はは.)
だから彼を呼びます.
addView
方法です.じゃ、これからは追加するものを取得します.
似ています.ここでは、LayouInflaterが現在のクラスからこのビューを取得することを定義しています.
直接にLayouInflaterの下のを使います.
inflate(R.layout.view, null);
この方法はこれを充填します.一応scrollViewといいます.そしてscrollViewを通じてview.xmlで定義されているScrrollView(必ず自分で書き直してジェスチャー探知機を設置していますよ)を取得してscrollViewと定義してください.
そしてscrollViewに  設定

scroll.setOnTouchListener(onTouchListener);
GestureDetector gestureDetector = new GestureDetector(new GestureListener());	
private View.OnTouchListener onTouchListener = new View.OnTouchListener() {
		
		public boolean onTouch(View v, MotionEvent event) {
			
			return gestureDetector.onTouchEvent(event);
		}
	};
イベントとジェスチャーイベントをタッチします.次はジェスチャーを見ます.

GestureListener extends SimpleOnGestureListener{
//              。。。。。。                   

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
				float velocityY){
// TODO Auto-generated method stub
			
if (e1.getX() - e2.getX() > 100 && Math.abs(velocityX) > 50) {
				
selectedPosition = selectedPosition + 1 < titleArray.length ? (selectedPosition + 1) : 0;

viewFlipper.addView(getContentView());
				viewFlipper.setInAnimation(AnimationControl.inFromRightAnimation());
                viewFlipper.setOutAnimation(AnimationControl.outToLeftAnimation());
viewFlipper.showNext();
viewFlipper.removeViewAt(0);
		}
 else if (e2.getX() - e1.getX() > 100 && Math.abs(velocityX) > 50) {
				
selectedPosition = selectedPosition > 0 ? (selectedPosition - 1) : (titleArray.length - 1);
viewFlipper.addView(getContentView());
				viewFlipper.setInAnimation(AnimationControl.inFromLeftAnimation());
                viewFlipper.setOutAnimation(AnimationControl.outToRightAnimation());
viewFlipper.showNext();
viewFlipper.removeViewAt(0);
		} 
	return true;
    }
};
このところがandroidです.左にスライドしますか?それとも右にスライドしますか?判断はスライドしたらもう一度あなたのview Flipperの中のviewを記入します.(スライドするならviewの中身は配列です.)そしてview Flippperにスライドの効果を頂上します...
スクリーンの滑りを実現する効果は既に実現されました.へへ.彼はギャラリーだと思います.私もそう思います....でも、ちょっと違います.そのscrollviewです.もしあなたの中の内容が多いなら.へへ.スクロールが実現できます.でも、あなたの再充填はView Flippperの時そのレイアウトファイルです.のレイアウトタイプが直線レイアウトになりました...
備考:少し補充したいです.ブロ友たちは見てもいいです.View Flippperには面白い設定があります.例えばviewを自動的にスライドさせる.これは今小説を読んでスクリーンをセットしてスクロールするようなものです.そうですか?およびスクロールの周波数は設定できます.