我理解你的問題的40%。在您登頂之前,請校對您的問題。我對一些事情感到困惑。 #1你是否使用Views或Fragments?如果你使用標籤,你應該使用片段! #2你是否通過ViewFlipper,Swipe/Horizontal Paging,使用Tabs或所有3同時切換片段。
爲了迴應第二個問題,如果您使用的是ViewFlipper,則需要實現OnClickListener,並且當用戶單擊Flipper時,該應用程序將進入onClick方法。如果你實現了View.OnTouchListener,應用程序將進入方法onTouch(View v,MotionEvent事件)。注意onTouch的參數。你需要一個MotionEvent。 ViewFlipper最適合短時間點擊。 MotionEvent最適合滑動。
爲了活動ViewFlipper,您需要:
1)flippy = (ViewFlipper) findViewById(R.id.viewFlipper1);
2)flippy.setOnClickListener(this); //This is to make the ViewFlipper respond to clicks.
3)implements OnClickListener //This goes on top of your class (after 「extends」).
4)然後,當用戶在ViewFlipper實際點擊時,程序會去方法:
public void onClick(View arg0) {flippy.showNext();}
迴應你的第一個問題。我猜你的問題是這樣的:
1)爲什麼我不能使用ViewFlipper在兩個以上的項目之間滑動?
這是如何。下面是一個名爲Flippering.java類的示例代碼:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ViewFlipper;
public class Flippering extends Activity implements OnClickListener {
ViewFlipper flippy;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.h_swipe_neg_one);
flippy = (ViewFlipper) findViewById(R.id.viewFlipper1);
flippy.setOnClickListener(this);
}
public void onClick(View arg0) {
// TODO Auto-generated method stub
flippy.showNext();
}
}
這裏是相應的XML文檔:
<ViewFlipper
android:id="@+id/viewFlipper1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="Clicked">
<ImageView
android:id="@+id/imageView1a"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/autumn_leaves" >
</ImageView>
<ImageView
android:id="@+id/imageView2a"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/azul" >
</ImageView>
<ImageView
android:id="@+id/imageView3a"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/big_mountain" >
</ImageView>
</ViewFlipper>
</LinearLayout>
注意android:src="@drawable/big_mountain"
是指我在我的清晰圖片/ drawable- hdpi文件夾。此外,您可以使用<TextView>
而不是<ImageView>
。例如:
<ViewFlipper>
<TextView></TextView>
<TextView></TextView>
<TextView></TextView>
</ViewFlipper>
另外,我非常懷疑你的問題與ActionBarSherlock有什麼關係。
你有沒有考慮過使用帶'Fragments'而不是'ViewFlipper'的'ViewPager'? –