Android入门之ImageSwitcher(纯java)

来源:互联网 发布:软件开发项目管理 编辑:程序博客网 时间:2024/06/05 11:51

     

    

import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.Window;import android.view.View.OnClickListener;import android.widget.*;import android.widget.ImageView.ScaleType;import android.widget.ViewSwitcher.ViewFactory;public class ImageSwitcherTest extends Activity {private ImageSwitcherTest ist=this;//ist    private LinearLayout mainLayout=null;//定义一个线性布局,主布局private ImageSwitcher is=null;//定义图片切换控件private RelativeLayout layout=null;//定义一个相对布局,用于盛放两个按钮private TextView tv=null;//定义一个文本private Button preButton=null;//按钮,上一张private Button nextButton=null;//按钮,下一张private int[] imageList={ R.drawable.p1,R.drawable.p2,R.drawable.p3,R.drawable.p4};//图片资源数组private int index=0;//图片索引    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题        mainLayout_init();        setContentView(mainLayout);    }    /*mianLayout初始化*/    void mainLayout_init(){    mainLayout=new LinearLayout(this);    LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(-1,-1);    mainLayout.setLayoutParams(lp);    mainLayout.setOrientation(LinearLayout.VERTICAL);    is_init();    mainLayout.addView(is);    layout_init();    mainLayout.addView(layout);    }    /*is初始化*/    void is_init(){    is=new ImageSwitcher(this);    LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(-1,-2);    is.setLayoutParams(lp);    is.setFactory(new ViewFactory(){    /*     * 此处ViewFacktroy是一个接口,类似于OnClickeLisnter之类的     * 我们可以新建一个ViewFactroy,也可以让Activity implements ViewFactory     */public View makeView() {ImageView iv=new ImageView(ist);iv.setScaleType(ScaleType.FIT_CENTER);iv.setLayoutParams(new ImageSwitcher.LayoutParams(-1,-1));return iv;}    });    is.setImageResource(imageList[index]);    }    /*layout初始化*/    void layout_init(){    layout=new RelativeLayout(this);    RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams(-1,-2);    layout.setLayoutParams(lp);    tv_init();    layout.addView(tv);    preButton_init();    layout.addView(preButton);    nextButton_init();    layout.addView(nextButton);    }    /*tv初始化*/    void tv_init(){    tv=new TextView(this);    RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams(-2,-2);    lp.addRule(RelativeLayout.CENTER_HORIZONTAL);    tv.setLayoutParams(lp);    tv.setText(String.valueOf(index+1)+"/4");    }    /*preButton初始化*/    void preButton_init(){    preButton=new Button(this);    RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams(-2,-2);    lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);    preButton.setLayoutParams(lp);    preButton.setText("上一张");    preButton.setEnabled(false);    preButton.setOnClickListener(new OnClickListener(){public void onClick(View v) {if(index==3){nextButton.setEnabled(true);}if(index>0){index--;is.setImageResource(imageList[index]);if(index==0){preButton.setEnabled(false);}}tv.setText(String.valueOf(index+1)+"/4");}    });    }    /*nextButton初始化*/    void nextButton_init(){    nextButton=new Button(this);    RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams(-2,-2);    lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);    nextButton.setLayoutParams(lp);    nextButton.setText("下一张");    nextButton.setOnClickListener(new OnClickListener(){public void onClick(View v) {if(index==0){preButton.setEnabled(true);}if(index<3){index++;is.setImageResource(imageList[index]);if(index==3){nextButton.setEnabled(false);}}tv.setText(String.valueOf(index+1)+"/4");}    });    }}


 

 

原创粉丝点击