ABAP Netweaver, Hybris Commerce和SAP 云平臺的登錄認證
954
2025-04-01
public class ViewPager_2Activity extends Activity
{
private List
private ViewPager viewPager;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listViews = new ArrayList
listViews.add(View.inflate(getApplicationContext(), R.layout.layout1,
null));
listViews.add(View.inflate(getApplicationContext(), R.layout.layout2,
null));
listViews.add(View.inflate(getApplicationContext(), R.layout.layout3,
null));
viewPager = (ViewPager) findViewById(R.id.v_Pager);
viewPager.setAdapter(new MyPagerAdapter(listViews));
viewPager.setCurrentItem(0);
View view = listViews.get(2);
TextView textView = (TextView) view.findViewById(R.id.text_3);
textView.setText("10");
Button button = (Button) view.findViewById(R.id.button_3);
button.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "你點擊了按鈕",
Toast.LENGTH_SHORT).show();
}
});
}
private class MyPagerAdapter extends PagerAdapter
{
private List
private MyPagerAdapter(List
{
// TODO Auto-generated method stub
this.mListView = list;
}
@Override
/**這個方法,是從ViewGroup中移出當前View**/
public void destroyItem(View container, int position, Object object)
{
// TODO Auto-generated method stub
((ViewGroup) container ).removeView(mListView.get(position));
}
@Override
public void finishUpdate(View view)
{
// TODO Auto-generated method stub
}
@Override
/**這個方法,是獲取當前窗體界面數**/
public int getCount()
{
// TODO Auto-generated method stub
return mListView.size();
}
@Override
/**這個方法,return一個對象,這個對象表明了PagerAdapter適配器選擇哪個對象*放在當前的ViewPager中**/
public Object instantiateItem(View container, int position)
{
// TODO Auto-generated method stub
((ViewGroup) container).addView(mListView.get(position), 0);
return mListView.get(position);
}
@Override
/**這個方法,在幫助文檔中原文是could be implemented as return view == object,*也就是用于判斷是否由對象生成界面**/
public boolean isViewFromObject(View view, Object object)
{
// TODO Auto-generated method stub
return view == (object);
}
@Override
public void restoreState(Parcelable state, ClassLoader loader)
{
// TODO Auto-generated method stub
}
@Override
public Parcelable saveState()
{
// TODO Auto-generated method stub
return null;
}
@Override
public void startUpdate(View v)
{
// TODO Auto-generated method stub
}
}
}
android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > android:id="@+id/v_Pager" android:layout_width="fill_parent" android:layout_height="fill_parent" >
android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="15" android:textSize="150sp" android:layout_gravity="center_horizontal"/>
android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="25" android:textSize="150sp" android:layout_gravity="center_horizontal"/>
android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="35" android:textSize="150sp" android:layout_gravity="center_horizontal"/>
效果圖:
ViewPager頁面拖動到最前或最后的時候回彈效果
看到一哥們用ViewPager寫的左右滑動的屏幕,像UC瀏覽器那樣,連接:
http://www.eoeandroid.com/thread-92508-1-1.html
但是當滑到最左端或者最右端就不能滑動了,感覺用戶體驗不如UC的,所以就試著弄了下
繼承ViewPager類以后,在左面和右面各增加個空View,然后在onPageSelected方法中
@Override
public void onPageSelected(int arg0)
{
// TODO Auto-generated method stub
System.out.println("onPageSelected = " + arg0);
if (arg0 == 0)
mViewPaper.setCurrentItem(arg0 + 1);
else if (arg0 == mViewList.size() - 1)
mViewPaper.setCurrentItem(arg0 - 1);
}
onPageSelected(int arg0){
}
arg0是表示你當前選中的頁面,這事件是在你頁面跳轉完畢的時候調用的。
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
} arg0 ==1的時候表示正在滑動,arg0==2的時候表示滑動完畢了,arg0==0的時候表示什么都沒做,就是停在那。
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}表示在前一個頁面滑動到后一個頁面的時候,在前一個頁面滑動前調用的方法。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。