android兑现图片查看器
android实现图片查看器
需要注意的地方
如图是程序的运行界面
点击下一张,可以查看下一张图片
具体实现代码
package com.example.imageswitcher; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageSwitcher; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ViewSwitcher.ViewFactory; public class MainActivity extends Activity implements OnClickListener,ViewFactory { private static final Integer[] imagelist= { R.drawable.img1, R.drawable.img2, R.drawable.img3, R.drawable.img4, R.drawable.img5, R.drawable.img6, R.drawable.img7, R.drawable.img8 }; private ImageSwitcher m_Switcher; private static int index=0; private static final int BUTTON_DOWN_ID=0X123456; private static final int BUTTON_UP_ID=0X123457; private static final int SWITCHER_ID=0X123458; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout main_view=new LinearLayout(this); m_Switcher=new ImageSwitcher(this); main_view.addView(m_Switcher); m_Switcher.setId(SWITCHER_ID); m_Switcher.setId(SWITCHER_ID); m_Switcher.setFactory(this); m_Switcher.setImageResource(imagelist[index]); setContentView(main_view); Button next=new Button(this); next.setId(BUTTON_DOWN_ID); next.setText("下一张"); next.setOnClickListener(this); LinearLayout.LayoutParams param=new LinearLayout.LayoutParams(100,100); main_view.addView(next,param); Button pre=new Button(this); pre.setId(BUTTON_UP_ID); pre.setText("上一张"); pre.setOnClickListener(this); main_view.addView(pre,param); } @Override public void onClick(View v) { switch(v.getId()) { case BUTTON_DOWN_ID: index++; if(index>=imagelist.length) { index=0; } m_Switcher.setImageResource(imagelist[index]); break; case BUTTON_UP_ID: index--; if(index<0) { index=imagelist.length-1; } m_Switcher.setImageResource(imagelist[index]); break; default: break; } } public View makeView() { return new ImageView(this); } }
需要注意的地方
需要实现ViewFactory类并且重写makeView方法