我手中有一段现成的程序。就是几张图片。利用手势操作来回可以拖动的效果。
现需要将此程序再增加一个幻灯片自动滚动播放的效果。
还请各位帮帮忙。小弟刚接触android不到三天。很多都不熟悉。领导赶鸭子上架急着要求完成此功能。
求救,求救~~~或者哪位有此类幻灯片效果的程序告诉小弟也行。万分感激。
一下为相关代码。public class SwitchViewDemoActivity extends Activity implements OnViewChangeListener, OnClickListener{
/** Called when the activity is first created. */
private MyScrollLayout mScrollLayout;
private ImageView[] mImageViews;
private int mViewCount;
private int mCurSel;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private void init()
{
mScrollLayout = (MyScrollLayout) findViewById(R.id.ScrollLayout);
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.llayout);
mViewCount = mScrollLayout.getChildCount();
mImageViews = new ImageView[mViewCount];
for(int i = 0; i < mViewCount; i++)
{
mImageViews[i] = (ImageView) linearLayout.getChildAt(i);
mImageViews[i].setEnabled(true);
mImageViews[i].setOnClickListener(this);
mImageViews[i].setTag(i);
}
mCurSel = 0;
mImageViews[mCurSel].setEnabled(false);
mScrollLayout.SetOnViewChangeListener(this);
}
private void setCurPoint(int index)
{
if (index < 0 || index > mViewCount - 1 || mCurSel == index)
{
return ;
}
mImageViews[mCurSel].setEnabled(true);
mImageViews[index].setEnabled(false);
mCurSel = index;
}
public void OnViewChange(int view) {
// TODO Auto-generated method stub
setCurPoint(view);
} public void onClick(View v) {
// TODO Auto-generated method stub
int pos = (Integer)(v.getTag());
setCurPoint(pos);
mScrollLayout.snapToScreen(pos);
}
现需要将此程序再增加一个幻灯片自动滚动播放的效果。
还请各位帮帮忙。小弟刚接触android不到三天。很多都不熟悉。领导赶鸭子上架急着要求完成此功能。
求救,求救~~~或者哪位有此类幻灯片效果的程序告诉小弟也行。万分感激。
一下为相关代码。public class SwitchViewDemoActivity extends Activity implements OnViewChangeListener, OnClickListener{
/** Called when the activity is first created. */
private MyScrollLayout mScrollLayout;
private ImageView[] mImageViews;
private int mViewCount;
private int mCurSel;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private void init()
{
mScrollLayout = (MyScrollLayout) findViewById(R.id.ScrollLayout);
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.llayout);
mViewCount = mScrollLayout.getChildCount();
mImageViews = new ImageView[mViewCount];
for(int i = 0; i < mViewCount; i++)
{
mImageViews[i] = (ImageView) linearLayout.getChildAt(i);
mImageViews[i].setEnabled(true);
mImageViews[i].setOnClickListener(this);
mImageViews[i].setTag(i);
}
mCurSel = 0;
mImageViews[mCurSel].setEnabled(false);
mScrollLayout.SetOnViewChangeListener(this);
}
private void setCurPoint(int index)
{
if (index < 0 || index > mViewCount - 1 || mCurSel == index)
{
return ;
}
mImageViews[mCurSel].setEnabled(true);
mImageViews[index].setEnabled(false);
mCurSel = index;
}
public void OnViewChange(int view) {
// TODO Auto-generated method stub
setCurPoint(view);
} public void onClick(View v) {
// TODO Auto-generated method stub
int pos = (Integer)(v.getTag());
setCurPoint(pos);
mScrollLayout.snapToScreen(pos);
}
private List<View> mListViews;
private final static int viewBackground[] = {R.drawable.guide01,
R.drawable.guide02,
R.drawable.guide03,
R.drawable.guide04,
R.drawable.guide05,};
private ImageView[] mImageViews;
private int mViewCount;
private int mCurSel;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_viewpage_layout);
initViewPage();
init();
}
private void initViewPage()
{
mListViews = new ArrayList<View>();
LayoutInflater mLayoutInflater = getLayoutInflater();
mViewCount = viewBackground.length;
for(int i = 0; i < mViewCount; i++)
{
View view = mLayoutInflater.inflate(R.layout.layout, null);
view.setBackgroundResource(viewBackground[i]);
mListViews.add(view);
}
mPageAdapter = new ViewPageAdapter(mListViews);
mViewPager = (ViewPager) findViewById(R.id.viewpager);
mViewPager.setAdapter(mPageAdapter);
mViewPager.setOnPageChangeListener(this);
}
private void init()
{
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.llayout);
mImageViews = new ImageView[mViewCount];
for(int i = 0; i < mViewCount; i++)
{
mImageViews[i] = (ImageView) linearLayout.getChildAt(i);
mImageViews[i].setEnabled(true);
mImageViews[i].setOnClickListener(this);
mImageViews[i].setTag(i);
}
mCurSel = 0;
mImageViews[mCurSel].setEnabled(false);
}
private void setCurView(int pos)
{
if (pos < 0 || pos >= mViewCount)
{
return ;
} mViewPager.setCurrentItem(pos);
}
private void setCurPoint(int index)
{
if (index < 0 || index > mViewCount - 1 || mCurSel == index)
{
return ;
}
mImageViews[mCurSel].setEnabled(true);
mImageViews[index].setEnabled(false);
mCurSel = index;
}
public void onClick(View v) {
// TODO Auto-generated method stub
int pos = (Integer)v.getTag();
setCurView(pos);
setCurPoint(pos);
}
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
setCurPoint(arg0);
}public class ViewPageAdapter extends PagerAdapter{ private final static String TAG = "MyPagerAdapter";
List<View> mViewList;
public ViewPageAdapter(List<View> viewList)
{
mViewList = viewList;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
if (mViewList != null)
{
return mViewList.size();
}
return 0;
}
@Override
public Object instantiateItem(View view, int index) {
// TODO Auto-generated method stub
((ViewPager) view).addView(mViewList.get(index), 0);
return mViewList.get(index);
}
@Override
public void destroyItem(View view, int position, Object arg2) {
// TODO Auto-generated method stub
((ViewPager) view).removeView(mViewList.get(position));
} @Override
public void finishUpdate(View arg0) {
// TODO Auto-generated method stub }
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.v4.view.ViewPager
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/viewpager">
</android.support.v4.view.ViewPager>
<LinearLayout
android:orientation="horizontal"
android:id="@+id/llayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="24.0dip"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15.0dip"
android:src="@drawable/guide_round" /> <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15.0dip"
android:src="@drawable/guide_round" /> <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15.0dip"
android:src="@drawable/guide_round" /> <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15.0dip"
android:src="@drawable/guide_round" /> <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15.0dip"
android:src="@drawable/guide_round" /> </LinearLayout>
</RelativeLayout><?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" > <com.genius.scroll.MyScrollLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" > <FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/guide01" >
</FrameLayout> <FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/guide02" >
</FrameLayout> <FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/guide03" >
</FrameLayout> <FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/guide04" >
</FrameLayout> <FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/guide05" >
</FrameLayout>
</com.genius.scroll.MyScrollLayout> <LinearLayout
android:id="@+id/llayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="24.0dip"
android:orientation="horizontal" > <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15.0dip"
android:src="@drawable/guide_round" /> <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15.0dip"
android:src="@drawable/guide_round" /> <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15.0dip"
android:src="@drawable/guide_round" /> <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15.0dip"
android:src="@drawable/guide_round" /> <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:clickable="true"
android:padding="15.0dip"
android:src="@drawable/guide_round" />
</LinearLayout></RelativeLayout>